Иногда Kubernetes делает ровно то, что вы ему разрешили — и именно в этом проблема 🤯

При плановых операциях в Kubernetes удаление подов считается добровольным вмешательством. В этих сценариях кластер не оценивает бизнес-критичность сервиса, а действует строго в рамках заданных ограничений.

🛠️ PodDisruptionBudget (PDB) задает эти ограничения.

Он определяет, какое количество подов из выбранной группы может быть одновременно выселено при управляемых действиях.

PDB описывается одним из двух параметров:

• minAvailable — минимальное количество подов в состоянии Ready
• maxUnavailable — максимально допустимое количество недоступных подов

Параметры взаимоисключающие и применяются к подам, выбранным через селектор.

Если PDB не задан, Kubernetes не ограничивает количество выселяемых подов при плановых операциях.

Есть граничные случаи, которые важно учитывать:

• сервис с одной репликой и PDB (minAvailable: 1 или maxUnavailable: 0) блокирует выселение пода и делает невозможным kubectl drain
• PDB учитывает только поды в состоянии Ready, что влияет на поведение кластера при частично деградированном сервисе

❗️ PDB не обеспечивает доступность и не предотвращает отказ. Его задача — формализовать допустимый уровень доступности при управляемых изменениях в кластере.

Ставьте реакцию:

🔥— если используете PDB в продакшене
❤️— если узнали о PDB из этого поста
Просмотры: 30
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти