k8s deployment yam 文件分析
apiVersion: extensions/v1beta1 kind: Deployment metadata: name:
namespace:
labels:
spec:
replicas: #设置Deployment的副本数量
selector:
matchLabels: #设置匹配标签的POD来创建deployment实例
lable_name: label
template: #设置Pod模板
metadata:
name:
labels:
lable_name: label #需要和上面的selector中的matchLabels保持一致
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 、Neverstrategy: #设置滚动更新策略
nodeSelector:
rollingUpdate: