GKE: Как обрабатывать развертывания с интенсивной инициализацией процессора? - PullRequest
4 голосов
/ 26 июня 2019

У меня есть кластер GKE (n1-standard-1, главная версия 1.13.6-gke.13) с 3 узлами, на которых у меня 7 развертываний, на каждом из которых запущено приложение Spring Boot. Для каждого развертывания был создан по умолчанию горизонтальный стручковый автомаскалер с целевым процессором 80% и минимумом 1 / максимум 5 копиями.

При нормальной работе на развертывание обычно приходится 1 модуль и загрузка ЦП составляет 1-5%. Но когда приложение запускается, например, после выполнения непрерывного обновления, загрузка ЦП резко возрастает, а HPA масштабируется до максимального числа реплик, сообщающих об использовании ЦП, при 500% и более.

Когда несколько развертываний запускаются одновременно, например, после обновления кластера, это часто приводит к тому, что различные модули не могут быть распознаны, поскольку на них не загружен ЦП, а некоторые модули находятся в состоянии «Preemting».

Я изменил HPA на максимум 2 реплики, так как в настоящее время этого достаточно. Но я буду добавлять больше развертываний в будущем, и было бы неплохо знать, как справиться с этим правильно. Я совершенно новичок в Kubernetes и GCP, поэтому я не знаю, как к этому подойти.

Вот диаграмма ЦП для одного из контейнеров после обновления кластера ранее сегодня:

CPU usage

Все работает в пространстве имен по умолчанию, и я не коснулся стандартного LimitRange с 100-метровым запросом процессора по умолчанию. Должен ли я изменить это и установить ограничения? Учитывая, что инициализация требует ресурсов, каковы будут надлежащие пределы? Или мне нужно обновить тип машины, добавив больше процессоров?

1 Ответ

3 голосов
/ 11 июля 2019

HPA учитывает только готовые капсулы .Так как ваши модули испытывают всплеск загрузки ЦП только на ранних этапах, лучше всего настроить датчик готовность , который будет отображаться как готовый только после того, как загрузка ЦП снизится или значение initialDelaySeconds будет больше, чем при запуске.период, чтобы гарантировать, что всплеск использования ЦП не учитывается для HPA.

...