Kubernetes Горизонтальный Pod Автомасштабирование

HPA Введение

Horizo ntal Под Autoscaler на основе наблюдаемого использования процессора (или пользовательских показателей  поддержки, на основе некоторых других показателей , предусмотренных приложением) контроллера номер Под автоматическое масштабирование копирования или развертывания набора реплик  . Пожалуйста , обратите внимание , что автоматическое масштабирование не применяется к объекту не может быть расширено, например , DaemonSets.

Horizo ntal Под Autoscaler Kubernetes API реализован в качестве ресурса и контроллер. Ресурс определяет поведение контроллера. Контроллер периодически регулируя количество копий контроллера копирования или развертывания, так что средняя загрузка процессора , указанного пользователем , чтобы соответствовать наблюдаемой цели.

Просто чтобы понять: автоматическое масштабирование по горизонтали, относится к прикладной нагрузке (POD), работающей на K8S можно автоматическое расширение на основе использования ресурсов, уменьшение объема, мы знаем, что использование ресурсов приложения, как правило, имеют пики и спады, поэтому в K8S HPA характеристика возник, это также лучший воплощает в себе один из преимуществ отличается от традиционной эксплуатации и технического обслуживания, а не только эластично масштабируемой и полностью автоматизирована!

Принцип работы

 

 Давайте эксперимент:

# Создание и развертывание службы

$ Kubectl запустить PHP-апаша --image = сардины / HPA-пример --requests = CPU = 200m --expose --port = 80

# Создание autoscaler
$ Kubectl автомасштаб развертывание PHP-апаш --cpu проценты = 50 --min = 1 --max = 10

# Подождите 3 до 5 минут, чтобы просмотреть статус гПа
$ Kubectl прибудет гП PHP-апаш

Увеличивайте нагрузку 
$ Kubectl Run --rm -это нагрузки генератора --image = BusyBox / бен / ш 
$ в то время как верно; делать Wget -q -O- HTTP: // PHP-апаш; сделанный;

# Подождите около 5 минут, чтобы увидеть увеличение нагрузки дисплея гПа, и увеличивает число копий
Примечание # K8S того , чтобы избежать частой делеции POD, скорость увеличения ограничений копирования
 # эксперимента можно видеть , что количество копий от 1 до 4 и от 8 до 10, и , возможно , требует от 4 до 5 минут буфера
$ Kubectl прибудет гП PHP-апаш -w

# Снимать нагрузки, CTRL + C завершение программы цикла, количество копий позже изменено на 1

 

 Автоматический выдвижной пример пути добавления аннотаций аннотаций:

Развертывание / StatefulSet:

apiVersion: Расширения / v1beta1 
 Тип: Развертывание 
 метаданных: 
   Имя: Пример 
   этикетки: 
   аннотации: 
     hpa.autoscaling.banzaicloud.io/minReplicas: "1" 
     hpa.autoscaling.banzaicloud.io/maxReplicas: "3" 
     cpu.hpa.autoscaling.banzaicloud .io / targetAverageUtilization: "70"

шаблон диаграммы: https://github.com/helm/charts/blob/master/stable/nginx-ingress/templates/controller-hpa.yaml

Ссылка:

https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/

 

рекомендация

отwww.cnblogs.com/Dev0ps/p/11885662.html