apiVersion: v1
kind: Pod_name
metadata
name: pod_name #描述Pod的名字
namespace: default #描述Pod所在命名空间,如果不设置,则默认为default
labels:
label_name: label #设置Pod的label
annotations: annotatios_name: values #设置POD注解
# label和annotations区别在于label可以被selector 而annotations不可以,annotation定义的valuek可以无字符串长度和格式限制
spec:
containers: #描述Pod里面运行的容器,是一个对象列表型
- name: container_name1 #设置容器名字
image: xx #设置image地址
imagePullPolicy: #设置下载镜像策略,常用选项Always、Never、IfNotPresent
#假如不设置,image的版本为latest时 则默认为Always 其他非latest版本则默认为IfNotPresent
args: #【】列表类型 设置容器启动的参数,用于替换容器中cmd
command: #[] 列表类型 设置容器启动脚本 用于替换容器中EntryPoint
env:
- name: #列表对象类型 设置容器启动环境变量
value:
lifecycle: #描述容器的启动之前和启动之后的动作
postStart:
preStop:
ports:
livenessProbe: # 设置容器的监控检查探针
readinessProbe: #设置容器的监控检查探针
# livenessProbe和ReadinessProbe区别在于 livenessProbe用于检查Pod运行状态是否正常,readinessProbe用于检测Pod是否具备接收业务请求
restartPolicy: #描述Pod容器异常重启策略 Always、OnFailure 、Never
nodeSelector: #Map型字段 描述Pod需要被调度在哪一个Node节点上,匹配条件以label为匹配条件,如果不设置则有k8s自动调动 label_name: label