根本语法
- 缩进时不容许应用 Tab 键,只容许应用空格
- 缩进的空格数目不重要,只有雷同层级的元素左侧对齐即可
-
标识正文,从这个字符始终到行尾,都会被解释器疏忽
## 必须存在的属性
参数名 | 字段类型 | 阐明 |
---|---|---|
version | String | K8s API 的版本,目前根本都为 v1, 能够应用 kubectl api-version 命令查看 |
kind | String | 定义的资源类型和角色:比方:Pod |
metadata | Object | 元数据对象,福鼎值就写 metadata |
metadata.name | String | 元数据对象名字,自定义 |
metadata.namespace | String | 元数据命名空间,自定义 |
Spec | Object | 具体定义对象,固定值为 Spec |
spec.containers[] | list | Spec 对象的容器列表定义,是个列表 |
spec.containers[].name | String | 容器的名字 |
spec.containers[].image | String | 要用到的镜像名称 |
可选参数
spec.containers[].imagePullPolicy | String | 定义镜像拉取策略,有 Always、Never、IfNotPresent 三个值可选,Always 示意每次都尝试从新拉取镜像;Never 便是仅应用本地有的镜像;IfNotPresent 示意本地有就用本地的,没有的话在线拉取镜像,如果没有设置则默认值为 Always |
---|---|---|
spec.containers[].command[] | List | 指定容器启动命令,因为是数组能够指定多个,不指定则应用镜像打包时应用的启动命令。 |
spec.containers[].args[] | List | 指定容器启动命令参数,因为是数组,能够指定多个 |
spec.containersp[].workingDir | String | 指定容器的工作目录 |
spec.containers[].volumeMounts[] | String | 指定容器外部的存储卷配置 |
spec.containers[].volumeMounts[].name | String | 指定能够被容器挂载的存储卷的名称 |
spec.containers[].volumeMounts[].mountPath | String | 指定能够被容器挂载的存储卷的门路 |
spec.containers[].volumeMounts[].readOnly | String | 设置存储卷的读写模式,true 或者 false 默认为读写模式 |
spec.containers[].ports[] | List | 指定容器须要用到的端口列表 |
spec.containers[].ports[].name | String | 指定端口名称 |
spec.containers[].ports[].containerPort | String | 指定容器须要监听的端口号 |
spec.containers[].ports[].hostPort | String | 指定容器所在主机须要监听的端口号, 默认跟下面 containerPort 雷同, 留神,设置了 hostPort 同一台主机无奈启动该容器的雷同正本(因为主机的端口号不能雷同,这样会抵触) |
spec.containers[].ports[].Protocol | String | 指定端口协定,反对 TCP 和 UDP,默认为 TCP |
spec.containers[].env | List | 指定容器运行前须要设置的环境变量 |
spec.restartPolicy | String | 定义 Pod 的重启策略,可选值为 Always、OnFailure,默认为 Always;Always 示意 Pod 一旦终止运行,则无论容器是如何终止的,kubelet 服务都将重启它;OnFailure 示意只有 Pod 以非零退出码终止时,kubelet 才会重启该容器,如果容器失常完结,则 kubelet 将不会重启它;Never 示意 Pod 终止后,kubelet 将退出码报告给 Master,不会重启该 Pod |
spec.nodeSelector | Object | 定义 Node 的 Label 过滤标签,以 key:value 格局指定 |
spec.imagePullSecrets | Object | 定义 pull 镜像时应用 secret 名称,以 name:secretkey 格局指定 |
spec.hostNetwork | Boolean | 定义是否应用主机网络模式,默认为 false,设置 true 示意应用宿主机网络,不实用 docker 网桥,同时设置了 true 将无奈在同一台宿主机上启动第二个正本 |