pdb
pdb
背景需求:虽然 deploy/sts 可以保证pod数量最终与期望一致,但是在更新过程的瞬间无法保证。
例如在运行一个3节点的zookeeper/etcd ,在更新过程中如果有两个节点不可用,将会直接导致zookeeper/etcd 服务不可用。
解决方案:k8s 1.4版本引入了pdb【PodDisruptionBudge】,可以保障在更新过程中至少有多少个pod可用
[单词本]
disruption:中断
budget: 预算
#kubectl create pdb test --selector=app=robusta-runner --max-unavailable=1
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: test
spec:
maxUnavailable: 1
selector:
matchLabels:
app: robusta-runner