Kubenetes AWS EKS назначает все модули только одному узлу, оставляя другой узел свободным.
Задний план:
У меня есть кластер EKS с 2 узлами (t3.small). В кластере есть несколько модулей, в том числе:
- 1 модуль для веб-интерфейса
- 1 модуль для бэкэнда
- Контроллер AWS ALB
- Внешний DNS
Текущее поведение:
- Все модули внутреннего и веб-интерфейса + другие модули AWS ALB (cert-manager, cert-manager-cainjector, cert-manager-webhook, app-backend-deployment, app-frontend-deployment, external-dns, aws-load-balancer- контроллер и т. д. - всего 11 модулей) все размещены в одном единственном узле.
- На другом узле работают только 2 модуля (aws-node и kube-proxy), что означает, что ни один из узлов приложения не назначен.
- Следствие: один узел часто выходит из строя или переходит в состояние неготовности из-за нехватки ЦП / памяти, а другой полностью свободен и не используется.
Желаемое поведение (или мое самоуверенное ожидаемое поведение): модули должны быть распределены более равномерно.
Мне что-то не хватает в конфигурации?