kubernetes中断预算方案PDB
Pod Disruption Budgets:POD中断预算方案
自愿中断:
- pod模板更改,如deployment的删除和修改
- pod直接删除
- drain操作等
Deployment
中的maxUnavailable
定义了滚动升级时最大更新数量
RS Controller
定义了期望副本数量
意外中断:
- node资源不足,pod逐出
- node故障
- node不可用等
pdb只能使用minAvailable
或者Code
之一
使用minAvailable
:
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: zk-pdb
spec:
minAvailable: 50% #在pod被驱离的情况下,必须保证的最小可用的pod数量,可以是个数或者百分比
selector:
matchLabels:
app: zookeeper
使用maxUnavailable
:
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: zk-pdb
spec:
maxUnavailable: 25% #在pod被驱离的情况下,必须保证的最大不可用的pod数量,可以是个数或者百分比
selector:
matchLabels:
app: zookeeper
查看PDB:
kubectl get poddisruptionbudgets