
Melindungi pod dari penggusuran dengan Anggaran Gangguan Pod di Kubernetes
(. . — ) Kubernetes-. , pod’ . preStop
pod’ , , pod’ . pod’, pod’, . PodDisruptionBudgets ( PDB), .
PodDisruptionBudgets: pod’
pod (PDB) — , pod’ ( ).
, pod’ , , , , . drain , pod’, .
pod PodDisruptionBudget
, pod’ . , pod (PDB), pod Nginx deployment-, :
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: nginx-pdb
spec:
minAvailable: 1
selector:
matchLabels:
app: nginx
Kubernetes, , 1 pod, app: nginx
. , Kubernetes pod’ drain-, pod’ drain-.
, , . prestop-, readiness probes service . , . , , , , .
, :

, . , pod’ :

pod’, drain . , drain , pod’ Nginx. drain ( , ), drain .
, , , drain . , drain , “” ( NoSchedule
), pod’ . .
, , drain “” pod’ :

, , drain pod’ . , drain control plane, Pod Disruption Budget (PDB).
, control plane , PDB . , control plane , . , 2 pod’. pod’ 1, PDB . , pod , , , . , , control plane , , pod’ 0, PDB.
, , 1 . drain 1 pod’, drain 2 :


pod’ , Deployment
. “” NoSchedule
, scheduler :

, pod , 1 , drain 1 .
drain 2 control plane PDB, . , pod, , , , drain 2 , pod’ (PDB). :



, pod’ , , pod’ . , - drain , Kubernetes !
, :
- lifecycle , .
- pod’
- pod’ (PDB), , pod’ .
, — !
! . terratest, k8s endpoint. , , 300 . , , .
Kubernetes AWS , Gruntwork.io.
: