根本语法

  • 缩进时不容许应用Tab键,只容许应用空格
  • 缩进的空格数目不重要,只有雷同层级的元素左侧对齐即可
  • 标识正文,从这个字符始终到行尾,都会被解释器疏忽

    ## 必须存在的属性

参数名字段类型阐明
versionStringK8s API的版本,目前根本都为v1,能够应用kubectl api-version命令查看
kindString定义的资源类型和角色:比方:Pod
metadataObject元数据对象,福鼎值就写metadata
metadata.nameString元数据对象名字,自定义
metadata.namespaceString元数据命名空间,自定义
SpecObject具体定义对象,固定值为Spec
spec.containers[]listSpec对象的容器列表定义,是个列表
spec.containers[].nameString容器的名字
spec.containers[].imageString要用到的镜像名称

可选参数

spec.containers[].imagePullPolicyString定义镜像拉取策略,有Always、Never、IfNotPresent三个值可选,Always示意每次都尝试从新拉取镜像;Never便是仅应用本地有的镜像;IfNotPresent示意本地有就用本地的,没有的话在线拉取镜像,如果没有设置则默认值为Always
spec.containers[].command[]List指定容器启动命令,因为是数组能够指定多个,不指定则应用镜像打包时应用的启动命令。
spec.containers[].args[]List指定容器启动命令参数,因为是数组,能够指定多个
spec.containersp[].workingDirString指定容器的工作目录
spec.containers[].volumeMounts[]String指定容器外部的存储卷配置
spec.containers[].volumeMounts[].nameString指定能够被容器挂载的存储卷的名称
spec.containers[].volumeMounts[].mountPathString指定能够被容器挂载的存储卷的门路
spec.containers[].volumeMounts[].readOnlyString设置存储卷的读写模式,true或者false默认为读写模式
spec.containers[].ports[]List指定容器须要用到的端口列表
spec.containers[].ports[].nameString指定端口名称
spec.containers[].ports[].containerPortString指定容器须要监听的端口号
spec.containers[].ports[].hostPortString指定容器所在主机须要监听的端口号,默认跟下面containerPort雷同,留神,设置了hostPort同一台主机无奈启动该容器的雷同正本(因为主机的端口号不能雷同,这样会抵触)
spec.containers[].ports[].ProtocolString指定端口协定,反对TCP和UDP,默认为TCP
spec.containers[].envList指定容器运行前须要设置的环境变量
spec.restartPolicyString定义Pod的重启策略,可选值为Always、OnFailure,默认为Always;Always示意Pod一旦终止运行,则无论容器是如何终止的,kubelet服务都将重启它;OnFailure示意只有Pod以非零退出码终止时,kubelet才会重启该容器,如果容器失常完结,则kubelet将不会重启它;Never示意Pod终止后,kubelet将退出码报告给Master,不会重启该Pod
spec.nodeSelectorObject定义Node的Label过滤标签,以key:value格局指定
spec.imagePullSecretsObject定义pull镜像时应用secret名称,以name:secretkey格局指定
spec.hostNetworkBoolean定义是否应用主机网络模式,默认为false,设置true示意应用宿主机网络,不实用docker网桥,同时设置了true将无奈在同一台宿主机上启动第二个正本