我使用的是Kube v1.13.0版本。由于Heapster从v1.11开始就被贬低了,我一直在为集群服务器启用API服务器来实现HPA。
root:~# kubectl get pods,deployment,hpa
NAME READY STATUS RESTARTS AGE
pod/ctauthorization-754c686bc6-6adkx 1/1 Running 0 72s
pod/ctauthorization-754c686bc6-dpsbm 1/1 Running 0 57s
pod/ctauthorization-754c686bc6-qsavs 1/1 Running 0 72s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.extensions/ctauthorization 3/3 3 3 72s
NAME REFERENCE TARGETS MINPODS MAXEODS REPLICAS AGE
horizontalpodautoscaler.autoscaling/ctauthorization Deployment/ctauthorization <unknown>/1000Mi, <unknown>/50% 3 5 3 72s
有人可以指导我一步一步地启用API服务器或任何演示视频。如果能继续下去会很有帮助。
请让我知道如果任何进一步的信息需要。
谢谢蒂娜
1条答案
按热度按时间oalqel3c1#
我可以使用
metrics-server
实现HPA,因为heapster是折旧的。我遵循了以下步骤:1.克隆metrics-server github repo:
git clone https://github.com/kubernetes-incubator/metrics-server.git
进入
cd deploy/1.8+
目录并运行以下yaml文件:现在创建一个pod来测试自动缩放(摘自kubernetes官方文档):
现在创建自动缩放部署:
现在检查HPA,您的指标是否到来:
现在使用以下命令从另一个窗口生成负载:
它将打开一个sh终端,你可以使用以下命令从该sh终端运行加载:
这将需要一分钟左右的时间来为您的吊舱加载足够的负载,您会看到一个繁荣:
和豆荚缩放:
希望这有助于你的HPA工作。
编辑:
将
deploy/1.8+
中的metrics-server-deployment.yaml
文件替换为以下yaml文件:另外,在kubelet.conf中启用
--authentication-token-webhook
,然后您将能够获得HPA。编辑2:您需要在要为其创建HPA的部署文件(在本例中为tomcat)中设置以下属性,然后只有您的HPA可以从您的部署中获取指标。