O que é o orçamento de interrupção de pods?
sobes.tech IA
Resposta da IA
O Orçamento de Interrupção de Pods (Pod Disruption Budget, PDB) é um mecanismo no Kubernetes que garante um número mínimo de réplicas disponíveis de uma aplicação durante uma interrupção voluntária (por exemplo, atualização de nós) ou uma desligação controlada.
O PDB define ou a quantidade mínima ou a percentagem de pods disponíveis (minAvailable), ou a quantidade máxima ou a percentagem de pods indisponíveis (maxUnavailable). A API do Kubernetes respeita este orçamento e não permite operações que violem o limite estabelecido. Estas operações incluem:
- Remover pods por controladores (Deployment, StatefulSet, etc.) ao escalar para baixo.
- Remover pods manualmente com o comando
kubectl drainpara manter um nó.
Ele protege apenas contra interrupções voluntárias, não contra as forçadas (por exemplo, falha de um nó).
Exemplo de PDB para Deployment my-app:
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: my-app-pdb
spec:
minAvailable: 80% # Pelo menos 80% dos pods devem permanecer disponíveis
selector:
matchLabels:
app: my-app # Seleciona pods com a etiqueta app: my-app
Neste exemplo, o Kubernetes não permitirá que interrupções voluntárias reduzam o número de pods disponíveis com a etiqueta app: my-app abaixo de 80% do total.