×

规范

属性 类型 描述

apiVersion

字符串

APIVersion 定义了对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。使用驼峰式命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

DeploymentSpec 是 Deployment 期望行为的规范。

status

对象

DeploymentStatus 是 Deployment 最近观察到的状态。

.spec

描述

DeploymentSpec 是 Deployment 期望行为的规范。

类型

对象

必需
  • selector

  • template

属性 类型 描述

minReadySeconds

整数

新创建的 Pod 在没有任何容器崩溃的情况下必须保持就绪状态的最小秒数,才能将其视为可用。默认为 0(Pod 一旦就绪即可视为可用)

paused

布尔值

指示 deployment 是否暂停。

progressDeadlineSeconds

整数

部署在被认为失败之前可以取得进展的最大时间(秒)。部署控制器将继续处理失败的部署,并在部署状态中显示带有 ProgressDeadlineExceeded 原因的条件。请注意,在部署暂停期间不会估计进度。默认为 600 秒。

replicas

整数

所需 Pod 的数量。这是一个指针,用于区分显式零和未指定。默认为 1。

revisionHistoryLimit

整数

要保留的旧 ReplicaSets 的数量,以便允许回滚。这是一个指针,用于区分显式零和未指定。默认为 10。

selector

LabelSelector

Pod 的标签选择器。其 Pod 被此选择器选择的现有 ReplicaSets 将受此部署的影响。它必须与 Pod 模板的标签匹配。

strategy

对象

DeploymentStrategy 描述了如何用新的 Pod 替换旧的 Pod。

template

PodTemplateSpec

Template 描述了将要创建的 Pod。唯一允许的 template.spec.restartPolicy 值是“Always”。

.spec.strategy

描述

DeploymentStrategy 描述了如何用新的 Pod 替换旧的 Pod。

类型

对象

属性 类型 描述

rollingUpdate

对象

用于控制滚动更新所需行为的规范。

type

字符串

部署类型。可以是“Recreate”或“RollingUpdate”。默认为 RollingUpdate。

可能的枚举值:- "Recreate" 在创建新 Pod 之前终止所有现有 Pod。- "RollingUpdate" 使用滚动更新(即逐步缩减旧 ReplicaSets 并扩展新的 ReplicaSets)来替换旧的 ReplicaSets。

.spec.strategy.rollingUpdate

描述

用于控制滚动更新所需行为的规范。

类型

对象

属性 类型 描述

maxSurge

IntOrString

可以计划的 Pod 数量超过所需 Pod 数量的最大值。值可以是绝对数字(例如:5)或所需 Pod 百分比(例如:10%)。如果 MaxUnavailable 为 0,则此值不能为 0。绝对数字是通过向上取整从百分比计算得出的。默认为 25%。示例:当此值设置为 30% 时,滚动更新开始时,新 ReplicaSet 可以立即扩展,这样旧 Pod 和新 Pod 的总数不会超过所需 Pod 的 130%。一旦旧 Pod 被终止,新 ReplicaSet 可以进一步扩展,确保在更新期间任何时间运行的 Pod 总数最多为所需 Pod 的 130%。

maxUnavailable

IntOrString

在更新期间可以不可用的 Pod 的最大数量。值可以是绝对数字(例如:5)或所需 Pod 百分比(例如:10%)。绝对数字是通过向下取整从百分比计算得出的。如果 MaxSurge 为 0,则此值不能为 0。默认为 25%。示例:当此值设置为 30% 时,滚动更新开始时,旧 ReplicaSet 可以立即缩减到所需 Pod 的 70%。一旦新的 Pod 就绪,旧 ReplicaSet 可以进一步缩减,然后扩展新的 ReplicaSet,确保在更新期间任何时间都至少有 70% 的所需 Pod 可用。

.status

描述

DeploymentStatus 是 Deployment 最近观察到的状态。

类型

对象

属性 类型 描述

availableReplicas

整数

此部署目标的可用 Pod(至少准备了 minReadySeconds)的总数。

collisionCount

整数

Deployment 的哈希冲突计数。Deployment 控制器使用此字段作为冲突避免机制,当它需要为最新的 ReplicaSet 创建名称时。

conditions

数组

表示部署当前状态的最新可用观察结果。

conditions[]

对象

DeploymentCondition 描述了特定时间点上部署的状态。

observedGeneration

整数

部署控制器观察到的世代。

readyReplicas

整数

readyReplicas 是此 Deployment 中具有就绪条件的 Pod 数量。

replicas

整数

此部署目标的未终止 Pod 的总数(它们的标签与选择器匹配)。

unavailableReplicas

整数

此部署目标的不可用 Pod 的总数。这是部署要拥有 100% 可用容量仍然需要的 Pod 总数。它们可能是正在运行但尚未可用的 Pod,也可能是尚未创建的 Pod。

updatedReplicas

整数

此部署目标的未终止 Pod 的总数,这些 Pod 具有所需的模板规范。

.status.conditions

描述

表示部署当前状态的最新可用观察结果。

类型

数组

.status.conditions[]

描述

DeploymentCondition 描述了特定时间点上部署的状态。

类型

对象

必需
  • type

  • status

属性 类型 描述

lastTransitionTime

时间

条件从一种状态转换到另一种状态的最后时间。

lastUpdateTime

时间

此条件上次更新的时间。

message

字符串

指示转换详细信息的人类可读消息。

reason

字符串

条件上次转换的原因。

status

字符串

条件的状态,True、False、Unknown 之一。

type

字符串

部署条件的类型。

API 端点

以下 API 端点可用

  • /apis/apps/v1/deployments

    • GET:列出或监视 Deployment 类型对象

  • /apis/apps/v1/watch/deployments

    • GET:监视对 Deployment 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。

  • /apis/apps/v1/namespaces/{namespace}/deployments

    • DELETE:删除 Deployment 集合

    • GET:列出或监视 Deployment 类型对象

    • POST:创建 Deployment

  • /apis/apps/v1/watch/namespaces/{namespace}/deployments

    • GET:监视对 Deployment 列表的单个更改。已弃用:改为使用列表操作中的“watch”参数。

  • /apis/apps/v1/namespaces/{namespace}/deployments/{name}

    • DELETE:删除 Deployment

    • GET:读取指定的 Deployment

    • PATCH:部分更新指定的 Deployment

    • PUT:替换指定的 Deployment

  • /apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}

    • GET:监视 Deployment 类型对象的更改。已弃用:改为使用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。

  • /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status

    • GET:读取指定 Deployment 的状态

    • PATCH:部分更新指定 Deployment 的状态

    • PUT:替换指定 Deployment 的状态

/apis/apps/v1/deployments

HTTP 方法

GET

描述

列出或监视 Deployment 类型对象

表 1. HTTP 响应
HTTP 代码 响应体

200 - OK

DeploymentList 模式

401 - 未授权

/apis/apps/v1/watch/deployments

HTTP 方法

GET

描述

监视Deployment列表的单个更改。已弃用:请改用列表操作中的“watch”参数。

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

WatchEvent 模式

401 - 未授权

/apis/apps/v1/namespaces/{namespace}/deployments

HTTP 方法

DELETE

描述

删除Deployment集合

表 3. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

表 4. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出或监视 Deployment 类型对象

表 5. HTTP 响应
HTTP 代码 响应体

200 - OK

DeploymentList 模式

401 - 未授权

HTTP 方法

POST

描述

创建Deployment

表 6. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,这都将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 7. 请求体参数
参数 类型 描述

body

Deployment 模式

表 8. HTTP 响应
HTTP 代码 响应体

200 - OK

Deployment 模式

201 - 已创建

Deployment 模式

202 - 已接受

Deployment 模式

401 - 未授权

/apis/apps/v1/watch/namespaces/{namespace}/deployments

HTTP 方法

GET

描述

监视Deployment列表的单个更改。已弃用:请改用列表操作中的“watch”参数。

表 9. HTTP 响应
HTTP 代码 响应体

200 - OK

WatchEvent 模式

401 - 未授权

/apis/apps/v1/namespaces/{namespace}/deployments/{name}

表 10. 全局路径参数
参数 类型 描述

name

字符串

Deployment的名称

HTTP 方法

DELETE

描述

删除Deployment

表 11. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

表 12. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的Deployment

表 13. HTTP 响应
HTTP 代码 响应体

200 - OK

Deployment 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的Deployment

表 14. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,这都将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 15. HTTP 响应
HTTP 代码 响应体

200 - OK

Deployment 模式

201 - 已创建

Deployment 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的Deployment

表 16. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,这都将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 17. 请求体参数
参数 类型 描述

body

Deployment 模式

表 18. HTTP 响应
HTTP 代码 响应体

200 - OK

Deployment 模式

201 - 已创建

Deployment 模式

401 - 未授权

/apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}

表 19. 全局路径参数
参数 类型 描述

name

字符串

Deployment的名称

HTTP 方法

GET

描述

监视Deployment类型对象的更改。已弃用:请改用列表操作中的“watch”参数,并使用“fieldSelector”参数过滤为单个项目。

表 20. HTTP 响应
HTTP 代码 响应体

200 - OK

WatchEvent 模式

401 - 未授权

/apis/apps/v1/namespaces/{namespace}/deployments/{name}/status

表 21. 全局路径参数
参数 类型 描述

name

字符串

Deployment的名称

HTTP 方法

GET

描述

读取指定的Deployment的状态

表 22. HTTP 响应
HTTP 代码 响应体

200 - OK

Deployment 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的Deployment的状态

表 23. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,这都将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 24. HTTP 响应
HTTP 代码 响应体

200 - OK

Deployment 模式

201 - 已创建

Deployment 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的Deployment的状态

表 25. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:对于从对象中删除的每个未知字段和遇到的每个重复字段,这都将通过标准警告响应标头发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果要从对象中删除任何未知字段,或者存在任何重复字段,这将导致请求失败并出现BadRequest错误。服务器返回的错误将包含遇到的所有未知和重复字段。

表 26. 请求体参数
参数 类型 描述

body

Deployment 模式

表 27. HTTP 响应
HTTP 代码 响应体

200 - OK

Deployment 模式

201 - 已创建

Deployment 模式

401 - 未授权