

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 PDB 保护关键工作负载
<a name="pdb"></a>

Pod 中断预算 (PDB) 是维护集群中应用程序高可用性的基本功能。PDB 指定目标大小，即特定类型的 pod 的最低可用性。这意味着，在任何给定时间都必须有最少数量的特定 pod 类型的副本在运行。如果正在运行的副本数量低于目标大小，Kubernetes 将防止对剩余副本的进一步中断，直到达到目标大小。PDB 有助于确保工作负载不受这些事件的影响，并且可以继续不间断地运行。发生中断时，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
```

为应用程序正确设置 PDB 有助于最大限度地减少计划内或计划外事件期间的中断。您可以使用反关联性规则将部署的 pod 调度到不同的节点上，避免节点升级期间的 PDB 延迟。