Sobes.tech
Middle+
137

Какой у вас опыт применения бюджета на нарушение работы подов (Pod Disruption Budget)?

AI-дан жауап

sobes.tech AI

Использовал PDB для обеспечения минимального количества доступных реплик приложений во время добровольных прерываний, таких как обновления узлов или масштабирование кластера. Настраивал PDB как в манифестах развертываний, так и в отдельных объектах PDB, указывая minAvailable (абсолютное или процентное значение) или maxUnavailable.

Примеры использования:

  • Гарантия доступности n реплик StatefulSet во время обновлений.
  • Защита критичных Deployment от одновременного удаления всех подов при эвакуации узлов.
  • В сочетании с Cluster Autoscaler и Horizontal Pod Autoscaler для более контролируемого масштабирования и обновления.

Например, для обеспечения доступности минимум 80% подов Deployment:

apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: my-app-pdb
spec:
  minAvailable: 80%
  selector:
    matchLabels:
      app: my-app

Этот PDB предотвратит добровольное прерывание, если число доступных подов упадет ниже 80% от желаемого количества реплик. Это помогает поддерживать стабильность и доступность сервисов во время операций обслуживания кластера.