YAML介绍及语法

  • Kubernetes支持YAML和JSON格式创建资源对象
  • JSON格式用于接口之间消息的传递
  • YAML格式用于配置和管理
  • YAML是一种简洁的非标记性语言
  • 语法格式:
    缩进标识层级关系
    不支持制表符缩进,使用空格缩进
    通常开头缩进两个空格
    字符后缩进一个空格,如冒号,逗号等
    “—”表示YAML格式,一个文件的开始
    “#”表示注释

通过YAML文件创建资源

  • 创建工作目录
mkdir demo/
cd demo/

创建nginx-deployment

vim nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.15.4
        ports:
        - containerPort: 80
kubectl create -f nginx-deployment.yaml
kubectl get pod -w
kubectl get pod
kubectl get deploy

在这里插入图片描述

创建nginx-service

vim nginx-service.yaml
apiVersion: v1  
kind: Service  
metadata:
  name: nginx-service
  labels:
    app: nginx  
spec:
  type: NodePort  
  ports:
  - port: 80
    targetPort: 80  
  selector:
    app: nginx
kubectl create -f nginx-service.yaml

在这里插入图片描述

测试网页

  • http://192.168.18.30:33594/

在这里插入图片描述

自动测试

  1. 自动测试命令的正确性,并不执行创建
kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run

在这里插入图片描述

  1. 查看生成yaml格式
kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml

在这里插入图片描述

  1. 导入到yaml文件中
kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o yaml > my-deployment.yaml
  1. 将现有的资源生成模板导出
kubectl get deploy/nginx --export -o yaml

在这里插入图片描述

  1. 查看生成json格式
kubectl run nginx-deployment --image=nginx --port=80 --replicas=3 --dry-run -o json

在这里插入图片描述

  1. 保存到文件中
 kubectl get deploy/nginx --export -o yaml > my-deploy.yaml

在这里插入图片描述

  1. 查看字段帮助信息
kubectl explain pods.spec.containers
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐