Как создать 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.