首页/云/云与容器速查/PodDisruptionBudget 中断预算
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条容器与 Docker106 条
Kubernetes68 条
容器排障33 条

PodDisruptionBudget 中断预算

为自愿中断(drain、节点维护、集群升级)保底可用副本:minAvailable 或 maxUnavailable 二选一;它不防节点宕机等非自愿中断,那是多副本与反亲和要解决的问题。

云与容器速查云更新于 2026-10-12
自愿中断kubectl drain、集群升级等主动驱逐操作
保护驱逐前检查 PDB:不满足则阻塞/重试
写法minAvailable: 2 或 maxUnavailable: 1(按整数或百分比)
不防节点断电、kubelet 失联等非自愿中断
核查kubectl get pdb -A:ALLOWED DISRUPTIONS 为 0 时 drain 会卡

PDB 示例

PDB 示例
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  name: web-pdb
spec:
  minAvailable: 2
  selector:
    matchLabels: { app: web }
单副本服务配 PDB minAvailable=1:drain 直接死锁,维护永远做不下去——PDB 要与多副本设计配套。

易错点

  • PDB 与单副本并存:节点维护无限等待,只能强制删 Pod
  • PDB 选择器写错没匹配到任何 Pod:等于没保护,却以为上了保险

数据来源与参考

  • Kubernetes Docs:Pod Disruption Budgets

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌