Какой PDB нужно назначить системным модулям для автоматического масштабирования кластера? - PullRequest
0 голосов
/ 23 октября 2018

Играя с кластером автоматического масштабирования, я заметил, что уменьшение масштаба не работает из-за стандартных модулей k8s:

Fast evaluation: node aks-nodepool1-37748512-0 cannot be removed: non-daemonset, non-mirrored, non-pdb-assignedkube-system pod present: kube-dns-v20-8748686c5-27psn

Что такое правильный PodDisruptionBudget для kube-dns и есть ли рекомендации для стандартныхсистемные POD PDB?Почему они не настроены по умолчанию?

1 Ответ

0 голосов
/ 23 октября 2018

В документации Kubernetes о нарушениях мы можем прочитать:

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

Вы можете увидеть примеры того, как правильно включать, настраивать и отключать PodDisruptionBudgetдля kube-dns внутри документов Kubernetes для Автоматическое масштабирование службы DNS в кластере .

Также Мартон Серег написал хорошую статью о Слив узлов Kubernetes , в котором он объясняеткак работает слив и что происходит внутри кластера.

Что касается параметров конфигурации по умолчанию, мне удалось найти это обсуждение Разумные значения по умолчанию с выселением и PodDisruptionBudget # 35318 .

...