Deployment Manifest
概述
参考:
Manifest 中的顶层字段
metadata
Deployment 对象的元数据,该字段内容详见通用定义的 [ObjectMeta](/docs/10.云原生/2.3.Kubernetes%20 容器编排系统/1.API、Resource(资源)、Object(对象)/API%20 参考/Common%20Definitions(通用定义)/ObjectMeta.md Definitions(通用定义)/ObjectMeta.md)
spec
spec 用来描述一个 Deployment 应该具有的属性。也就是用来定义 Deployment 的行为规范。一共分为如下几类
- 描述 Deployment 类型的控制器的行为
- 描述 Deployment 控制器所关联的 Pod 的属性。
控制器行为
minReadySeconds(INT) # 新创建的 Pod 在启动后,经过 minReadySeconds 秒后一直没有崩溃,之后,将该 Pod 视为可用。默认值:0
。
- 默认值 0 表示 Pod 准备就绪后即被视为可用。
progressDeadlineSeconds(INT) # 本 Deployment 对象被视为失败之前的等待时间,单位 秒。默认值:600
replicas(INT) # 该控制器运行的 Pod 数量,默认值:1
。
revisionHistoryLimit(INT)# 可以保留的允许回滚的旧 ReplicaSet 对象的数量。默认值:10
。控制器的历史可以通过 kubectl rollout
命令控制
selector([LabelSelector](/docs/10.云原生/2.3.Kubernetes%20 容器编排系统/1.API、Resource(资源)、Object(对象)/API%20 参考/Common%20Definitions(通用定义)/LabelSelector%20 详解.md Definitions(通用定义)/LabelSelector 详解.md)) # 必须的。Pod 的标签选择器,根据标签匹配要控制的 Pod。必须与 template.metadata.labels
的内容匹配。
strategy(Ojbect) # 定义用一个新的 pod 代替现有 pod 的部署策略(更新 pod 的策略)
- rollingUpdate(Object) # 当更新策略为 rollingUpdate 时,需要配置滚动更新的参数
- maxSurge(STRING)# 设定在更新时最大可用的 Pod 数,就是先添加几个新的 Pod 再删除老的
- maxUnavailable(STRING)# 设定在更新时最大不可用的 Pod 数
- type(STRING)Recreate|RollingUpdate # 指定更新策略的类型,Recreate(重新创建) 与 RollingUpdate(滚动更新)。
默认值:RollingUpdate
- Recreate 是删除一个创建一个
Pod 属性
template(Ojbect) # 必须的。定义 Pod 的模板,使用 Pod 类型的 metadata 和 spec 字段。
- metadata(PodMetadata) # 与 pod 资源定义的内容基本一致
- spec(PodSpec) # 与 pod 资源定义的内容基本一致
status
Manifests 样例
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
labels:
name: myapp
spec:
replicas: 1
selector:
matchLabels:
name: myapp
template:
metadata:
name: myapp
labels:
name: myapp
spec:
containers:
- name: myapp
image: lchdzh/network-test
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.