第 41 章 PodDisruptionBudgetTemplate 模式参考
用于: CruiseControlTemplate
, KafkaBridgeTemplate
, KafkaClusterTemplate
, KafkaConnectTemplate
, KafkaMirrorMakerTemplate
, ZookeeperClusterTemplate
PodDisruptionBudgetTemplate
模式属性的完整列表
PodDisruptionBudget
(PDB)是一个 OpenShift 资源,通过指定计划维护或升级过程中必须可用的最少 pod 数量来确保高可用性。Apache Kafka 的 Streams 为每个新 StrimziPodSet
或 Deployment
创建一个 PDB。默认情况下,PDB 仅允许一个容器集在任何给定时间不可用。您可以通过更改 maxUnavailable
属性的默认值来增加允许的不可用 pod 数量。
StrimziPodSet
自定义资源使用无法直接使用 maxUnavailable
值的自定义控制器管理 pod。相反,在创建 PDB 资源时,maxUnavailable
值会自动转换为 minAvailable
值,它有效地提供相同的目的,如下例所示:
-
如果在
Kafka
资源中有三个代理 pod,并且maxUnavailable
属性被设置为1
,minAvailable
设置为2
,则允许一个 pod 不可用。 -
如果有三个代理 pod,并且
maxUnavailable
属性被设置为0 (
零),minAvailable
设置为3
,则需要所有三个代理 pod 都可用,并允许零个 pod 不可用。
PodDisruptionBudget
模板配置示例
# ... template: podDisruptionBudget: metadata: labels: key1: label1 key2: label2 annotations: key1: label1 key2: label2 maxUnavailable: 1 # ...
41.1. PodDisruptionBudgetTemplate
模式属性
属性 | 属性类型 | 描述 |
---|---|---|
metadata |
应用到 | |
maxUnavailable | 整数 |
允许自动 pod 驱除的最大不可用 pod 数量。当 |