Sobes.tech
Middle+

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 drain para 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.