Как создать kubernetes горизонтальный pod autoscaler с конкретным именем?

Я попытался создать горизонтальный автоскейлер 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

1 ответ

Решение

Я перепробовал много комбинаций этого --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.

Другие вопросы по тегам