20.3. PodDisruptionBudget [policy/v1]


描述
PodDisruptionBudget 是一个对象,用于定义可能导致 pod 集合的最大中断
类型
对象

20.3.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: 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

对象

PodDisruptionBudgetSpec 是 PodDisruptionBudget 的描述。

status

对象

PodDisruptionBudgetStatus 代表 PodDisruptionBudget 的状态的信息。状态可能会跟踪系统的实际状态。

20.3.1.1. .spec

描述
PodDisruptionBudgetSpec 是 PodDisruptionBudget 的描述。
类型
object
属性类型描述

maxUnavailable

IntOrString

如果在驱除后没有 "selector" 后选择的 "maxUnavailable" pod 时,允许驱除驱除,如没有被驱除的 pod。例如,可以通过指定 0 来防止所有自愿驱除。这是一个带有 "minAvailable" 的相互排斥的设置。

minAvailable

IntOrString

如果 "selector" 选择的最小"minAvailable" pod 在驱除后仍可用,则允许使用驱除功能,即没有被驱除的 pod。例如,您可以通过指定 "100%" 来防止所有自愿驱除。

selector

labelSelector

对其驱除由中断预算管理的 pod 的标签查询。null 选择器不匹配任何 pod,而空({})选择器将选择命名空间中的所有 pod。

unhealthyPodEvictionPolicy

string

unhealthyPodEvictionPolicy 定义应考虑驱除不健康的 pod 的条件。当前实现将健康的 pod 视为具有 type="Ready",status="True" 的 status.conditions 项的 pod。

有效策略为 IfHealthyBudget 和 AlwaysAllow。如果没有指定策略,则使用默认行为,对应于 IfHealthyBudget 策略。

IfHealthyBudget 策略意味着运行的 pod (status.phase="Running"),但只有在保护的应用程序没有中断时,才会被驱除(status.currentHealthy 至少等于 status.desiredHealthy)。健康的 pod 将受 PDB 进行驱除。

AlwaysAllow policy 意味着所有正在运行的 pod (status.phase="Running"),但还没有处于健康状态,无论是否满足 PDB 中的条件,都可被驱除。这意味着,对中断的应用程序运行的 pod 可能无法成为健康的几率。健康的 pod 将受 PDB 进行驱除。

以后可能会添加额外的策略。如果客户端在此字段中遇到未识别的策略,则进行驱除决策应禁止驱除不健康的 pod。

此字段是 beta 级别。当启用了功能门 PDBUnhealthyPodEvictionPolicy (默认启用)时,驱除 API 会使用此字段。

可能枚举值: - "AlwaysAllow" 策略意味着所有运行的 pod (status.phase="Running"),但还没有处于健康状态,无论是否满足 PDB 中的条件,都可被驱除。这意味着,对中断的应用程序运行的 pod 可能无法成为健康的几率。健康的 pod 会受到用于驱除的 PDB 限制。- "IfHealthyBudget" 策略意味着运行 pod (status.phase="Running"),但只有在保护的应用程序没有中断(status.currentHealthy 至少等于 status.desiredHealthy)时,才会被驱除。健康的 pod 将受 PDB 进行驱除。

20.3.1.2. .status

描述
PodDisruptionBudgetStatus 代表 PodDisruptionBudget 的状态的信息。状态可能会跟踪系统的实际状态。
类型
object
必填
  • disruptionsAllowed
  • currentHealthy
  • desiredHealthy
  • expectedPods
属性类型描述

conditions

数组(条件)

条件包含 PDB 的条件。disruption 控制器设置 DisruptionAllowed 条件。以下是原因字段的已知值(将来可能会添加其他原因):- SyncFailed: 控制器遇到错误,且无法计算允许的中断数量。因此,不允许中断,并且条件的状态将是 False。- InsufficientPods: pod 的数量位于 或低于 PodDisruptionBudget 需要的数量。不允许中断,并且条件的状态为 False。- SufficientPods: PodDisruptionBudget 需要超过 pod。条件为 True,允许的中断数量由 disruptionsAllowed 属性提供。

currentHealthy

整数

当前健康的 pod 数量

desiredHealthy

整数

最低健康 pod 数量

disruptedPods

对象(时间)

DisruptedPods 包含有关 pod 的信息,其驱除由 API 服务器驱除子资源处理程序处理,但还没有被 PodDisruptionBudget 控制器观察到。当 API 服务器处理驱除请求时,pod 将处于这个映射中,当 PDB 控制器认为 pod 被标记为删除(或超时后)时,pod 会被标记为要删除的时间。映射中的键是 pod 的名称,值是 API 服务器处理驱除请求的时间。如果没有进行删除,并且 PodDisruptionBudget 控制器将在一段时间后自动删除 pod。如果一切顺利,此映射在大部分时间都应为空。映射中的大量条目可能会表示 pod 删除的问题。

disruptionsAllowed

整数

当前允许的 pod 中断预算数量。

expectedPods

整数

此中断预算计算的 pod 总数

observedGeneration

整数

更新此 PDB 状态时观察到的最新生成。只有观察到 PDB 的对象生成时,DisruptionsAllowed 和其他状态信息才有效。

20.3.2. API 端点

可用的 API 端点如下:

  • /apis/policy/v1/poddisruptionbudgets

    • GET: 列出或监视类型为 PodDisruptionBudget 的对象
  • /apis/policy/v1/watch/poddisruptionbudgets

    • GET: 观察单个更改 PodDisruptionBudget。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets

    • DELETE: 删除 PodDisruptionBudget 集合
    • GET: 列出或监视类型为 PodDisruptionBudget 的对象
    • POST :创建 PodDisruptionBudget
  • /apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets

    • GET: 观察单个更改 PodDisruptionBudget。已弃用:改为使用 'watch' 参数及列表操作。
  • /apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}

    • DELETE :删除 PodDisruptionBudget
    • GET :读取指定的 PodDisruptionBudget
    • PATCH: 部分更新指定的 PodDisruptionBudget
    • PUT :替换指定的 PodDisruptionBudget
  • /apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets/{name}

    • GET: 观察对类型为 PodDisruptionBudget 的对象的更改。已弃用:使用带有 list 操作的 'watch' 参数,而是过滤为带有 'fieldSelector' 参数的单个项目。
  • /apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}/status

    • GET :指定 PodDisruptionBudget 的读取状态
    • PATCH: 部分更新指定 PodDisruptionBudget 的状态
    • PUT :替换指定 PodDisruptionBudget 的状态

20.3.2.1. /apis/policy/v1/poddisruptionbudgets

表 20.5. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

HTTP 方法
GET
描述
列出或监视类型为 PodDisruptionBudget 的对象
表 20.6. HTTP 响应
HTTP 代码响应正文

200 - OK

PodDisruptionBudgetList 模式

401 - Unauthorized

20.3.2.2. /apis/policy/v1/watch/poddisruptionbudgets

表 20.7. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

HTTP 方法
GET
描述
观察单个对 PodDisruptionBudget 列表中的更改。已弃用:改为使用 'watch' 参数及列表操作。
表 20.8. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

20.3.2.3. /apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets

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

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 20.10. 全局查询参数
参数类型描述

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
DELETE
描述
删除 PodDisruptionBudget 集合
表 20.11. 查询参数
参数类型描述

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

gracePeriodSeconds

整数

应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值为零表示立即删除。如果这个值是 nil,则会使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

orphanDependents

布尔值

弃用:请使用 PropagationPolicy,此字段将在 1.7 中弃用。如果依赖对象是孤立的。如果为 true/false,则 "orphan" finalizer 将添加到对象的终结器列表中。可以设置此字段或 PropagationPolicy,但不能同时设置。

propagationPolicy

字符串

是否执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置两者。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受的值有: 'Orphan' - 孤立的依赖项; 'Background' - 允许垃圾收集器删除依赖项,"Foreground' - 删除前台所有依赖的级联策略。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

表 20.12. 主体参数
参数类型描述

正文(body)

DeleteOptions 模式

 
表 20.13. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
列出或监视类型为 PodDisruptionBudget 的对象
表 20.14. 查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

表 20.15. HTTP 响应
HTTP 代码响应正文

200 - OK

PodDisruptionBudgetList 模式

401 - Unauthorized

HTTP 方法
POST
描述
创建 PodDisruptionBudget
表 20.16. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

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

表 20.17. 主体参数
参数类型描述

正文(body)

PodDisruptionBudget 模式

 
表 20.18. HTTP 响应
HTTP 代码响应正文

200 - OK

PodDisruptionBudget 模式

201 - Created

PodDisruptionBudget 模式

202 - Accepted

PodDisruptionBudget 模式

401 - Unauthorized

20.3.2.4. /apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets

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

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 20.20. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

HTTP 方法
GET
描述
观察单个对 PodDisruptionBudget 列表中的更改。已弃用:改为使用 'watch' 参数及列表操作。
表 20.21. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

20.3.2.5. /apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}

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

name

字符串

PodDisruptionBudget 的名称

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 20.23. 全局查询参数
参数类型描述

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
DELETE
描述
删除 PodDisruptionBudget
表 20.24. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

gracePeriodSeconds

整数

应该删除对象前的持续时间(以秒为单位)。值必须是非负整数。值为零表示立即删除。如果这个值是 nil,则会使用指定类型的默认宽限期。如果没有指定,则默认为每个对象值。零表示立即删除。

orphanDependents

布尔值

弃用:请使用 PropagationPolicy,此字段将在 1.7 中弃用。如果依赖对象是孤立的。如果为 true/false,则 "orphan" finalizer 将添加到对象的终结器列表中。可以设置此字段或 PropagationPolicy,但不能同时设置。

propagationPolicy

字符串

是否执行垃圾回收。可以设置此字段或 OrphanDependents,但不能同时设置两者。默认策略由 metadata.finalizers 和特定于资源的默认策略中设置的现有终结器决定。可接受的值有: 'Orphan' - 孤立的依赖项; 'Background' - 允许垃圾收集器删除依赖项,"Foreground' - 删除前台所有依赖的级联策略。

表 20.25. 主体参数
参数类型描述

正文(body)

DeleteOptions 模式

 
表 20.26. HTTP 响应
HTTP 代码响应正文

200 - OK

Status 模式

202 - Accepted

Status 模式

401 - Unauthorized

HTTP 方法
GET
描述
阅读指定的 PodDisruptionBudget
表 20.27. HTTP 响应
HTTP 代码响应正文

200 - OK

PodDisruptionBudget 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定的 PodDisruptionBudget
表 20.28. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求(application/apply-patch)需要此字段,但对非应用补丁类型(JsonPatch、MergePatch、MergePatch)是可选的。

fieldValidation

string

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

force

布尔值

强制要"强制"应用请求。这意味着用户将重新分配由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。

表 20.29. 主体参数
参数类型描述

正文(body)

Patch 模式

 
表 20.30. HTTP 响应
HTTP 代码响应正文

200 - OK

PodDisruptionBudget 模式

201 - Created

PodDisruptionBudget 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定的 PodDisruptionBudget
表 20.31. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

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

表 20.32. 主体参数
参数类型描述

正文(body)

PodDisruptionBudget 模式

 
表 20.33. HTTP 响应
HTTP 代码响应正文

200 - OK

PodDisruptionBudget 模式

201 - Created

PodDisruptionBudget 模式

401 - Unauthorized

20.3.2.6. /apis/policy/v1/watch/namespaces/{namespace}/poddisruptionbudgets/{name}

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

name

字符串

PodDisruptionBudget 的名称

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 20.35. 全局查询参数
参数类型描述

allowWatchBookmarks

布尔值

allowWatchBookmarks请求类型为“BOOKMARK”的监视事件。没有实现书签的服务器可能会忽略这个标志和书签,由服务器自由裁量发送。客户端不应假设书签在任何特定间隔返回,也不会假定服务器在会话期间发送任何 BOOKMARK 事件。如果这不是监视,则忽略此字段。

继续

字符串

从服务器检索更多结果时,应设置 continue 选项。由于这个值是定义的服务器,因此客户端只能使用之前查询结果中的 continue 值,并带有相同的查询参数(除 continue 值除外),因此服务器可能会拒绝它无法识别的值。如果指定的 continue 值不再有效,无论是因为过期时间(通常为 5 到十五分钟)还是服务器上的配置更改,服务器将会与继续令牌一起响应 410 ResourceExpired 错误。如果客户端需要一致的列表,它必须重启其列表,而无需 continue 字段。否则,客户端可能会发送另一个带有 410 错误接收的令牌的列表请求,服务器将以从下一个密钥开始开始的列表响应,但从最新的快照开始,这与上一个列表结果中不一致 - 在第一个列表请求后将包含在响应中,只要它们的密钥位于 "next key" 后。

当 watch 为 true 时不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,而不丢失任何修改。

fieldSelector

字符串

一个选择器,用于限制其字段返回的对象列表。默认为任何内容。

labelSelector

字符串

一个选择器,用于限制其标签返回的对象列表。默认为任何内容。

limit

整数

limit 是列表调用返回的最大响应数。如果存在更多项目,服务器会将列表元数据上的"continue"字段设为可用于同一初始查询的值,以检索下一组结果。如果过滤所有请求的对象,则设置限制可能会返回少于请求项目数量(最多为零项),并且客户端只应使用 continue 字段的存在,以确定是否有更多结果可用。服务器可能会选择不支持 limit 参数,并返回所有可用的结果。如果指定了 limit,并且 continue 字段为空,客户端可能会假定没有更多结果可用。如果 watch 为 true,则不支持此字段。

服务器保证,在使用时返回的对象将与在没有限制限制的情况下发出单个列表调用相同 - 也就是说,在发出第一个请求后没有创建、修改或删除对象。这有时被称为一致的快照,并确保使用限制来接收非常大结果的较小的块的客户端可确保它们看到所有可能的对象。如果在块列表中更新对象,则返回第一个列表结果时存在的对象版本。

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

resourceVersion

字符串

resourceVersion 对可能给请求提供服务的资源版本设置一个约束。详情请查看 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

resourceVersionMatch

字符串

resourceVersionMatch 决定如何将 resourceVersion 应用到列表调用。强烈建议您为设置 resourceVersion 的 list 调用设置 resourceVersionMatch。详情请参阅 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions

默认为未设置

sendInitialEvents

布尔值

'sendInitialEvents=true' 可以与 'watch=true' 一起设置。在这种情况下,观察流将以复合事件开头,以生成集合中对象的当前状态。发送完所有这些事件后,将发送合成"Bookmark"事件。书签将报告与对象集合对应的 ResourceVersion (RV),并使用 '"k8s.io/initial-events-end": "true" 注解进行标记。之后,监视流将照常进行,从而向监视的对象发送与更改对应的监视事件(按 RV 排序)。

当设置 'sendInitialEvents' 选项时,我们还需要设置 'resourceVersionMatch' 选项。watch 请求的语义如下: - 'resourceVersionMatch' = NotOlderThan 被解释为"data"作为提供的 'resourceVersion'",当状态同步到 'resourceVersion' 时,书签 事件至少作为 ListOptions 提供的 "resourceVersion'。如果未设置 'resourceVersion',这会被解释为 "consistent read",当请求开始处理时至少会发送书签事件。- 'resourceVersionMatch' 设置为任何其他值或未设置 Invalid 错误。

如果 'resourceVersion=""' 或 'resourceVersion="0"' (出于向后兼容原因)和 false,则默认为 true。

timeoutSeconds

整数

列表/watch 调用的超时。这限制了调用的持续时间,无论任何活动或不活跃。

watch

布尔值

观察对所描述资源的更改,并将它们作为添加、更新和删除通知的流返回。指定 resourceVersion。

HTTP 方法
GET
描述
观察对类型为 PodDisruptionBudget 的对象的更改。已弃用:使用带列表操作的 'watch' 参数,而是过滤成带有 'fieldSelector' 参数的单个项目。
表 20.36. HTTP 响应
HTTP 代码响应正文

200 - OK

WatchEvent 模式

401 - Unauthorized

20.3.2.7. /apis/policy/v1/namespaces/{namespace}/poddisruptionbudgets/{name}/status

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

name

字符串

PodDisruptionBudget 的名称

namespace

字符串

对象名称和身份验证范围,如团队(team)和项目(project)

表 20.38. 全局查询参数
参数类型描述

pretty

字符串

如果为 'true',则输出会经过 pretty print 处理。

HTTP 方法
GET
描述
指定 PodDisruptionBudget 的读取状态
表 20.39. HTTP 响应
HTTP 代码响应正文

200 - OK

PodDisruptionBudget 模式

401 - Unauthorized

HTTP 方法
PATCH
描述
部分更新指定 PodDisruptionBudget 的状态
表 20.40. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。应用请求(application/apply-patch)需要此字段,但对非应用补丁类型(JsonPatch、MergePatch、MergePatch)是可选的。

fieldValidation

string

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

force

布尔值

强制要"强制"应用请求。这意味着用户将重新分配由其他人员拥有的冲突字段。对于非应用补丁请求,必须取消设置 force 标志。

表 20.41. 主体参数
参数类型描述

正文(body)

Patch 模式

 
表 20.42. HTTP 响应
HTTP 代码响应正文

200 - OK

PodDisruptionBudget 模式

201 - Created

PodDisruptionBudget 模式

401 - Unauthorized

HTTP 方法
PUT
描述
替换指定 PodDisruptionBudget 的状态
表 20.43. 查询参数
参数类型描述

dryRun

字符串

出现时,表示不应保留修改。无效的或未被识别的 dryRun 指令将导致错误响应,且请求不会被进一步处理。有效值为: - All: 所有预演阶段都将被处理

fieldManager

字符串

fieldmanager 是与进行这些更改的参与者或实体相关联的名称。该值必须小于或是 128 个字符长,且仅包含可打印的字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义的那样。

fieldValidation

string

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

表 20.44. 主体参数
参数类型描述

正文(body)

PodDisruptionBudget 模式

 
表 20.45. HTTP 响应
HTTP 代码响应正文

200 - OK

PodDisruptionBudget 模式

201 - Created

PodDisruptionBudget 模式

401 - Unauthorized

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.