本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 PDB 保护关键工作负载
Pod 中断预算 (PDB) 是维护集群中应用程序高可用性的基本功能。PDB 指定目标大小,即特定类型的 pod 的最低可用性。这意味着,在任何给定时间都必须有最少数量的特定 pod 类型的副本在运行。如果正在运行的副本数量低于目标大小,Kubernetes 将防止对剩余副本的进一步中断,直到达到目标大小。 PDBs 有助于确保工作负载不受这些事件的影响,并且可以继续不间断地运行。发生中断时,Kubernetes 会尝试优雅地将 Pod 从受影响的节点中移出,同时保持 PDB 中指定的副本数量。
您可以使用 PDB 来声明副本的maxUnavailable
数量minAvailable
和数量。例如,如果您希望应用程序至少有三个副本可用,请创建一个类似于以下示例的 PDB:
apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: my-svc-pdb spec: minAvailable: 3 selector: matchLabels: app: my-svc
PDBs 正确设置应用程序有助于最大限度地减少计划内或计划外事件期间的中断。您可以使用反关联性规则将部署的 pod 调度到不同的节点上,避免节点升级期间的 PDB 延迟。