Как мы можем ограничить количество модулей в данном рабочем узле (ВМ) на основе параметра использования памяти и запустить масштабирование узлов - PullRequest
0 голосов
/ 08 мая 2020

Спецификации

У меня есть кластер Kubernetes со следующей конфигурацией (дающей только актуальную информацию)

  • У меня есть два рабочих узла с конфигурацией c5.xlarge (c5.xlarge 4vCPU 8GiB памяти). Чтобы уточнить, это две виртуальные машины EC2 на Amazon AWS.

  • Я запускаю серверное приложение на обоих узлах

Требование

  1. Когда использование памяти любого узла (ВМ) достигает 80%, я хочу, чтобы узел перестал порождать больше модулей

  2. Естественно, я бы хочу, чтобы новый узел (ВМ) создавался автоматически, если обе мои существующие виртуальные машины имеют порог памяти 80%.

Уже прошло

вопрос Это дает возможность достичь, но не задействован параметр памяти.

1 Ответ

1 голос
/ 08 мая 2020

Вам необходимо масштабировать на 2 уровня.

  1. Автоматическое масштабирование на уровне модуля. Это может быть достигнуто с помощью HPA ( Horizontal Pod Autoscaler ). Вы можете установить политику масштабирования на основе показателей ЦП и / или памяти c.

  2. Необходимо установить автоматическое масштабирование на уровне узла. Ссылка: Cluster Autoscaler

Kubernetes Cluster Autoscaler автоматически регулирует количество узлов в вашем кластере, когда модули не запускаются из-за нехватки ресурсов или когда узлы в кластере используются недостаточно, и их поды могут быть перенесены на другие узлы в кластере. или CPU). Я не думаю, что вы можете установить здесь 80% порог памяти в качестве политики масштабирования.

AWS Документация EKS для масштабирования AWS EKS Autoscaling

...