В будущем вам нужно выполнить несколько условий для работы HPA.На вашем кластере должен быть запущен сервер метрик или heapster.Важно установить ресурсы на основе пространства имен.
Вы не указали, в какой среде работает ваш кластер, но в GKE по умолчанию у вас есть набор ресурсов ЦП (100 м), но его нужно указатьв новых пространствах имен:
Обратите внимание, что если в некоторых контейнерах модуля нет соответствующего набора запросов ресурсов, загрузка ЦП для модуля не будет определена, и автоскалер не будет предпринимать никаких действий для этого.metric.
В вашем случае я не уверен, почему он работает после повторного развертывания, так как недостаточно информации.Но на будущее не забудьте:
1) объект, который вы хотите масштабировать, и HPA должен находиться в одном и том же пространстве имен
2) установить ресурсы ЦП для каждого пространства имен или просто добавить --requests=cpu=value
, чтобыHPA сможет масштабировать на основе этого.
ОБНОВЛЕНИЕ :
для вашего конкретного случая:
1) kubectl run busybox --image=busybox --port 8080 -n test --requests=cpu=200m -- sh -c "while true; do { echo -e 'HTTP/1.1 200 OK\r\n'; \
env | grep HOSTNAME | sed 's/.*=//g'; } | nc -l -p 8080; done"
2) kubectl autoscale deployment busybox --cpu-percent=50 --min=1 --max=10 -n test