Mi az a podok megszakítási költségvetése?
sobes.tech MI
Válasz az MI-től
A Pod Megzavarási Költségvetés (Pod Disruption Budget, PDB) egy mechanizmus a Kubernetesben, amely garantálja, hogy önkéntes megszakítások (például csomópontok frissítése) vagy ellenőrzött kikapcsolások során az alkalmazás minimális elérhető példányainak száma megmarad.
A PDB meghatározza vagy a minimális vagy a százalékos elérhető podok számát (minAvailable), vagy a nem elérhető podok maximális számát vagy százalékát (maxUnavailable). A Kubernetes API tiszteletben tartja ezt a költségvetést, és nem engedélyezi azokat a műveleteket, amelyek megsértik a beállított limitet. Ezek közé tartoznak:
- Podok törlése vezérlők által (Deployment, StatefulSet stb.) lefelé skálázáskor.
- Manuális pod törlése a
kubectl drainparancs segítségével egy csomópont karbantartásához.
Csak önkéntes megszakítások ellen véd, nem kényszerített (például csomóponthiba esetén).
Példa PDB-re a my-app Deploymenthez:
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: my-app-pdb
spec:
minAvailable: 80% # Legalább 80% podnak elérhetőnek kell maradnia
selector:
matchLabels:
app: my-app # Kiválasztja az `app: my-app` címkével ellátott podokat
Ebben a példában a Kubernetes nem engedi meg, hogy az önkéntes megszakítások csökkentsék az app: my-app címkével ellátott podok számát 80% alá az összestől.