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/