YAML字段详解

规则
大小写敏感
通过缩进表示层级关系
禁止使用tab缩进,只能使用空格键
缩进的空格数目不重要,只要相同层级左对齐
使用#表示注释

引号的区别
单引号(''): 特殊字符作为普通字符串处理
双引号(""): 特殊字符作为本身想表示的意思

锚点与引用
使用&定义数据锚点,即要复制的数据
使用*引用锚点数据,即数据的复制目的地

数据类型
YAML允许使用感叹号(!)强制转换数据类型,单叹号通常是自定义类型,双叹号是内置类型
数据类型分为纯量、数组(用-表示)、对象

apiVersion: group/api-version # 版本信息
kind: # 资源类别
metadata: # 资源元数据
  name: # 元数据对应的名称
  namespace: # 元数据所属的命名空间
  lables: # 对资源打上便签供后续使用
  annotations: # 主要目的是方便用户阅读查找
spec: # 资源对象的详细定义
  progressDeadlineSeconds #升级过程中的最大时间         
  replicas: 3           #定义副本数量
  revisionHistoryLimit #定义保留的升级记录数目
  strategy:
    rollingUpdate:     #滚动更新
      maxSurge: 25%    #更新过程中Pod总数超过Pod期望副本数部分的最大值
      maxUnavailable: 25% #更新过程中不可用状态的Pod数量的上限
    type: RollingUpdate
  #strategy:
  # Recreate:          #杀掉Pod后重建
  #  maxSurge: 25%     
  #  maxUnavailable: 25%  
    type: Recreate
  selector:               #定义选择器
    matchLabels:       #匹配标签
      app: nginx       #匹配标签的名称
  template:               #定义Pod模板
    metadata:    
      labels:
        app: nginx
    spec:     # 资源对象的详细定义
      containers:                #定义容器信息
      - name: nginx                 #容器名,与标签名要相同
        env:[]                  #容器启动的环境变量
        - name:
          value:
        volumeMounts:           #挂载外部文件到容器
        - name:                  #volume的name
          mountPath:/home         #挂载到容器中的指定路径
        image: nginx:1.15.4      #容器使用的镜像以及版本
        imagePullPolicy:Always  #镜像拉取策略:每次部署时都重新拉取镜像
        ports:                   #定义容器的对外端口
        - containerPort: 80         
          protocol:TCP
        workingDir:             #指定容器的工作目录
        resources:
          limits:                #资源最大申请量
            cpu: '2'             
            memory: 1G
          requests:              #资源最小申请量
            cpu: 200m
            memory: 500M
        livenessProbe:          #存活探针
          httpGet:               #http方式
            path:                #路径
            port:                #端口
            httpHeaders:         #请求头设置
            - name:
              value:
          initialDelaySeconds:   #开始探针检测的等待秒数
          periodSeconds:         #执行探测的间隔
          timeoutSeconds:        #探测超时的时间
          successThreshold:      #探针成功的阈值
          failureThreshold:      #探针失败的阈值
        readinessprobe:         #就绪探针
          tcpSocket:             #tcp端口探测模式
            port:                #需要探测的容器端口
        terminationMessagePath: /dev/termination-log #容器异常终止消息的存放路径
        terminationMessagePolicy: File               #异常终止消息存为文件
      dnsPolicy: ClusterFirst|Default|None #优先使用k8s的DNS服务|继承Pod所在宿主机的DNS服务|忽略k8s的DNS服务并自定义
      restartPolicy: Always                          #重启策略
      schedulerName: default-scheduler               #调度器
      securityContext: {}
      terminationGracePeriodSeconds: 30             #优雅关闭时间,收到SIDTERM停止请求后,进行资源释放的宽限期
status:
  availableReplicas: 1
  conditions:
    - lastTransitionTime: '2019-08-07T03:43:50Z'
      lastUpdateTime: '2020-01-13T01:12:14Z'
      message: ReplicaSet "rmlistapi-6fbbf8d969" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: 'True'
      type: Progressing
    - lastTransitionTime: '2021-04-02T14:59:33Z'
      lastUpdateTime: '2021-04-02T14:59:33Z'
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: 'True'
      type: Available
  observedGeneration: 12
  readyReplicas: 1
  replicas: 1
  updatedReplicas: 1        

补充:

Lifecycle字段,定义的是容器生命周期钩子函数Container Lifecycle Hooks。其的作用是在容器状态发生变化时触发一系列钩子函数。如preStart、preStop等

# *********
spec: # 资源对象的详细定义
template: # 定义pod的模板
# *********

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值