Требуется ли PDB для кластера Kubernetes, для которого определен HPA?

У меня есть кластер Kubernetes. С помощью политик я удостоверился, что для всех служб определены запросы, ограничения и HPA, чтобы можно было плавно автоматизировать масштабирование. Я также определил ResourceQuota. Есть ли необходимость в таком сценарии определять и PDB? Пожалуйста, порекомендуйте.

1 ответ

Решение

Определенно, PDB предназначены для дополнения вашего набора реплик, чтобы гарантировать, что работа узла не приведет к остановке ваших служб, если все необходимые экземпляры будут отключены одновременно. Это ресурс, который вырисовывается в количестве запущенных реплик и использует селектор меток модуля (так же, как и сервис), чтобы определить, на какой модуль следует обратить внимание на ваши PDB.

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

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

Подробнее читайте в этих статьях.

https://blog.gruntwork.io/avoiding-outages-in-your-kubernetes-cluster-using-poddisruptionbudgets-ef6a4baa5085

И для получения полной информации о том, что такое манифест ресурса

https://kubernetes.io/docs/tasks/run-application/configure-pdb/

Другие вопросы по тегам