第 3 章 PodDisruptionBudget [policy/v1]
- 描述
- PodDisruptionBudget 是一个对象,用于定义可能导致 pod 集合的最大中断
- 类型
-
对象
3.1. 规格
属性 | 类型 | 描述 |
---|---|---|
|
| APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| PodDisruptionBudgetSpec 是 PodDisruptionBudget 的描述。 |
|
| PodDisruptionBudgetStatus 代表 PodDisruptionBudget 的状态的信息。状态可能会跟踪系统的实际状态。 |
3.1.1. .spec
- 描述
- PodDisruptionBudgetSpec 是 PodDisruptionBudget 的描述。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
| 如果在驱除后没有 "selector" 后选择的 "maxUnavailable" pod 时,允许驱除驱除,如没有被驱除的 pod。例如,可以通过指定 0 来防止所有自愿驱除。这是一个带有 "minAvailable" 的相互排斥的设置。 | |
| 如果 "selector" 选择的最小"minAvailable" pod 在驱除后仍可用,则允许使用驱除功能,即没有被驱除的 pod。例如,您可以通过指定 "100%" 来防止所有自愿驱除。 | |
| 对其驱除由中断预算管理的 pod 的标签查询。null 选择器不匹配任何 pod,而空({})选择器将选择命名空间中的所有 pod。 |
3.1.2. .status
- 描述
- PodDisruptionBudgetStatus 代表 PodDisruptionBudget 的状态的信息。状态可能会跟踪系统的实际状态。
- 类型
-
object
- 必填
-
disruptionsAllowed
-
currentHealthy
-
desiredHealthy
-
expectedPods
-
属性 | 类型 | 描述 |
---|---|---|
| 条件包含 PDB 的条件。disruption 控制器设置 DisruptionAllowed 条件。以下是原因字段的已知值(将来可能会添加其他原因):- SyncFailed: 控制器遇到错误,且无法计算允许的中断数量。因此,不允许中断,并且条件的状态将是 False。- InsufficientPods: pod 的数量位于 或低于 PodDisruptionBudget 需要的数量。不允许中断,并且条件的状态为 False。- SufficientPods: PodDisruptionBudget 需要超过 pod。条件为 True,允许的中断数量由 disruptionsAllowed 属性提供。 | |
|
| 当前健康的 pod 数量 |
|
| 最低健康 pod 数量 |
| DisruptedPods 包含有关 pod 的信息,其驱除由 API 服务器驱除子资源处理程序处理,但还没有被 PodDisruptionBudget 控制器观察到。当 API 服务器处理驱除请求时,pod 将处于这个映射中,当 PDB 控制器认为 pod 被标记为删除(或超时后)时,pod 会被标记为要删除的时间。映射中的键是 pod 的名称,值是 API 服务器处理驱除请求的时间。如果没有进行删除,并且 PodDisruptionBudget 控制器将在一段时间后自动删除 pod。如果一切顺利,此映射在大部分时间都应为空。映射中的大量条目可能会表示 pod 删除的问题。 | |
|
| 当前允许的 pod 中断预算数量。 |
|
| 此中断预算计算的 pod 总数 |
|
| 更新此 PDB 状态时观察到的最新生成。只有观察到 PDB 的对象生成时,DisruptionsAllowed 和其他状态信息才有效。 |