Назад | Перейти на главную страницу

Как создать автоматическое масштабирование горизонтальных модулей Kubernetes с определенным именем?

Я попытался создать автоматическое масштабирование горизонтальных модулей Kubernetes с определенным именем (ttt), но он не работал должным образом:

$ kubectl autoscale deployment hello-web --cpu-percent=50 --min=2 --max=10 --name=ttt
horizontalpodautoscaler.autoscaling/hello-web autoscaled
$ kubectl get hpa
NAME        REFERENCE              TARGETS         MINPODS   MAXPODS   REPLICAS   AGE
hello-web   Deployment/hello-web   <unknown>/50%   2         10        0          5s

Я пробовал много комбинаций этого --name опция в автомасштабировании, и у меня она тоже не сработала.

Есть вариант сделать это иначе. Если у вас уже есть hpa, созданный из CLI, вы можете получить файл yaml автомасштабирования.

1) Получите файл YAML с вашего HPA

kubectl get hpa/<your_hpa_name> -o yaml --export > hpa.yaml

2) Откройте этот файл

vi hpa.yaml

3) Отредактируйте имя в нем (вы также можете отредактировать или добавить сюда многие параметры HPA)

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:    
  name: <your name>
...

и сохраните файл.

4) Удалить старое развертывание

kubectl delete hpa <old_hpa_name>

5) Применить новый hpa с новым именем

kubectl apply -f hpa.yaml

Вы также можете создать HPA прямо из файла YAML.