Middle+
Qual è la tua esperienza nell'applicazione del budget di interruzione dei pod (Pod Disruption Budget)?
sobes.tech AI
Risposta dell'AI
Ho utilizzato PDB per garantire il numero minimo di repliche disponibili delle applicazioni durante interruzioni volontarie, come aggiornamenti dei nodi o scalabilità del cluster. Ho configurato PDB sia nei manifesti di deployment che in oggetti PDB separati, specificando minAvailable (valore assoluto o percentuale) o maxUnavailable.
Esempi di utilizzo:
- Garantire la disponibilità di
nrepliche di StatefulSet durante gli aggiornamenti. - Proteggere i deployment critici dalla rimozione simultanea di tutti i pod durante l'evacuazione dei nodi.
- In combinazione con Cluster Autoscaler e Horizontal Pod Autoscaler per uno scaling e aggiornamenti più controllati.
Ad esempio, per garantire almeno l'80% dei pod disponibili in un deployment:
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: my-app-pdb
spec:
minAvailable: 80%
selector:
matchLabels:
app: my-app
Questo PDB impedirà interruzioni volontarie se il numero di pod disponibili scende sotto l'80% del numero desiderato di repliche. Questo aiuta a mantenere stabilità e disponibilità dei servizi durante le operazioni di manutenzione del cluster.