Kubernetes Yaml文件格式

语法要求

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • # 表示注释,从这个字符一直到行尾,都会被解析器忽略

数据结构

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

对象类型:对象的一组键值对,使用冒号结构表示(冒号后面必须空格后在填写)

apiVersion: apps/v1  
kind: Deployment
#冒号后都有空格

数组类型:一组连词线开头的行,构成一个数组

  • 符号(-)不体现在上下层级中
  • 符号(-)必须加空格后输入
containers:
   - name: ldap-web    
     image: ldap_web_manage 
     ports:
错误写法
containers:
     -name: ldap-web    #体现在这行     
     image: ldap_web_manage 
     ports:

纯量:针对的是赋值,冒号的右边

  • 支持所有的数据类型:字符串、布尔值、整数、浮点数、Null

Kubernetes Yaml文件

  • 控制层
    • 资源控制层(Deployment、RelicaSet、StatefulSet、Service、Pod等等)
    • labels标准选择器(控制Service映射选择,副本数控制选择、NodeSelector调度)
  • 被控制层(Pod、容器)

在这里插入图片描述

apiVersion: apps/v1
kind: Deployment
metadata:
 name: ldapweb-deployment

spec:
 replicas: 2
 selector:
  matchLabels:
   app: ldap-web
   ver: v1
 
 template:
  metadata:
   labels:
    app: ldap-web
    ver: v1
  spec:
   containers:
   - name: ldap-web
     image: ldap_web_manage 
     ports:
     - containerPort: 8080
     imagePullPolicy: Never
     securityContext:
        privileged: true

注意点:

  1. 区分层级,每种资源层级不同
 kubectl explain deployment #explain+资源属性,第一层级,并有详细使用说明
 kubectl explain deployment.spec #层级只要后面加点跟参数。第二层级
  1. 参数属性是否加 - (主要也要空格,不算层级格式)
    在这里插入图片描述

这个有点不是太明白,提示需要的,但是加上反而不对,好像只有容器部分需要加

kubectl explain deployment.spec.template.spec.containers
在这里插入图片描述

  1. 冒号后空格
  2. containers 下层 无非就是非常类似docker run 后面跟着很多参数的添加,需要什么功能的可以到这个下面查找

Yaml参数解释可以参考:点击

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页