Как запустить скрипт автомасштабирования узла без использования cron-job в Kubernetes (PKS) - PullRequest
2 голосов
/ 05 мая 2020

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

Сейчас я запускаю это скрипт из бастиона, где у меня установлен клиент pks, kubectl, а также настроено задание cron для его запуска каждые 5 минут.

Есть ли другой способ сделать это в Kubernetes (PKS на AWS)?

Или может быть без использования cron-job, поскольку автоматическое масштабирование становится полностью зависимым от cron.

Спасибо

Ответы [ 2 ]

2 голосов
/ 05 мая 2020

TL; DR: автоматическое масштабирование с помощью k8s

Для настройки автомасштабирования на k8s используйте:

kubectl autoscale -f <controller>.yaml --min=3 --max=5

Примечание: PKS over AWS является излишним

Вы упомянули PKS

Использование инфраструктуры PKS поверх AWS кажется излишним. Просто потому, что AWS имеет EKS

Для работы с AWS облаком VMware рекомендует VM C на AWS

PKS autoscale

Если вы настаиваете на использовании PKS вместо AWS, вы можете попробовать этот образец репозитория: pks-autoscale

Автор репо также имеет отличное PKS руководство по быстрому запуску для aws

Масштабирование AWS

EKS автоматическое масштабирование

AWS EKS поддерживает трехмерное масштабирование :

  • кластерный автомат масштабирования - Kubernetes Cluster Autoscaler автоматически регулирует количество узлов в вашем кластере, когда модули не запускаются из-за нехватки ресурсов или когда узлы в кластере недостаточно загружены, и их модули можно перенести на другие узлы в кластере.
  • Horizontal Pod Autoscaler - Kubernetes Horizontal Pod Autoscaler автоматически масштабирует количество модулей в развертывании. nt, контроллер репликации или набор реплик в зависимости от загрузки ЦП этого ресурса.
  • Вертикальный автомасштабирование модулей - Вертикальный автомат масштабирования модулей Kubernetes автоматически настраивает резервирование ЦП и памяти для ваших модулей, чтобы помочь " размер "ваших приложений. Это может помочь вам лучше использовать ресурсы кластера и освободить ЦП и память для других модулей.

EC2 Auto Scaling

Если вы решили создать свой собственный k8s кластер с использованием PKS, вы можете использовать EC2 автоматическое масштабирование - просто создайте группу автоматического масштабирования .

Используя aws-cli:

aws autoscaling create-auto-scaling-group --auto-scaling-group-name <my-asg> --launch-configuration-name <my-launch-config> --min-size 3 --max-size 5 --vpc-zone-identifier "<zones>

EC2 прогнозирующее масштабирование

Недавно AWS представила прогнозирующее масштабирование для EC2 :

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

0 голосов
/ 05 мая 2020

Если вы имеете в виду EKS на AWS, то есть другие параметры автоматического масштабирования

...