华为云UCS-使用多集群负载伸缩扩缩工作负载:验证负载伸缩结果
验证负载伸缩结果
- 查看FederatedHPA策略,结果显示工作负载的CPU使用率为0%。
kubectl get FederatedHPA hpa-example-hpa
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 1 6m
- 通过如下命令访问工作负载,其中{ip:port}为负载的访问地址,可以在工作负载的详情页中查询。
while true;do wget -q -O- http://{ip:port}; done
- 观察工作负载自动扩容过程。
kubectl get federatedhpa hpa-example-hpa --watch
查看FederatedHPA策略,可以看到6m23s时负载的CPU使用率为200%,超过了目标值,此时触发了FederatedHPA策略,将工作负载扩容为4个Pod,随后的几分钟内,CPU使用并未下降,直到到8m16s时CPU使用率才开始下降,这是因为新创建的Pod并不一定创建成功,可能是因为资源不足Pod处于Pending状态,这段时间内在扩容节点。
到8m16s时CPU使用率开始下降,说明Pod创建成功,开始分担请求流量,到8分钟时下降到81%,还是高于目标值,在容忍度范围外,说明还会再次扩容,到9m31s时再次扩容到7个Pod,这时CPU使用率降为51%,在容忍度范围内,不会再次扩缩,因此此后Pod数量一直稳定在7个。
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 1 6m hpa-example-hpa Deployment/hpa-example 200%/50% 1 100 1 6m23s hpa-example-hpa Deployment/hpa-example 200%/50% 1 100 4 6m31s hpa-example-hpa Deployment/hpa-example 210%/50% 1 100 4 7m16s hpa-example-hpa Deployment/hpa-example 210%/50% 1 100 4 7m16s hpa-example-hpa Deployment/hpa-example 90%/50% 1 100 4 8m16s hpa-example-hpa Deployment/hpa-example 85%/50% 1 100 4 9m16s hpa-example-hpa Deployment/hpa-example 51%/50% 1 100 7 9m31s hpa-example-hpa Deployment/hpa-example 51%/50% 1 100 7 10m16s hpa-example-hpa Deployment/hpa-example 51%/50% 1 100 7 11m
查看FederatedHPA策略事件,可以看到策略的生效时间。
kubectl describe federatedhpa hpa-example-hpa
- 停止访问负载,观察工作负载自动缩容过程。
查看FederatedHPA策略,可以看到从13m开始CPU使用率为21%,18m时Pod数量缩为3个,到23m时Pod数量缩为1个。
kubectl get federatedhpa hpa-example-hpa --watch
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE hpa-example-hpa Deployment/hpa-example 50%/50% 1 100 7 12m hpa-example-hpa Deployment/hpa-example 21%/50% 1 100 7 13m hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 7 14m hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 7 18m hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 3 18mhpa-example-hpa Deployment/hpa-example 0%/50% 1 100 3 19m hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 3 19m hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 3 19m hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 3 19m hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 3 23m hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 3 23m hpa-example-hpa Deployment/hpa-example 0%/50% 1 100 1 23m
查看FederatedHPA策略事件,可以看到策略的生效时间。
kubectl describe federatedhpa hpa-example-hpa
- 达到CronFederatedHPA策略的触发时间后,观察工作负载的自动扩缩容过程。
可以看到118m时Pod数量扩为4个,到123m时Pod数量扩为10个。
kubectl get cronfederatedhpa cron-federated-hpa --watch
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE cron-federated-hpa Deployment/hpa-example 50%/50% 1 100 1 112m cron-federated-hpa Deployment/hpa-example 21%/50% 1 100 1 113m cron-federated-hpa Deployment/hpa-example 0%/50% 1 100 4 114m cron-federated-hpa Deployment/hpa-example 0%/50% 1 100 4 118m cron-federated-hpa Deployment/hpa-example 0%/50% 1 100 4 118mcron-federated-hpa Deployment/hpa-example 0%/50% 1 100 4 119m cron-federated-hpa Deployment/hpa-example 0%/50% 1 100 7 119m cron-federated-hpa Deployment/hpa-example 0%/50% 1 100 7 119m cron-federated-hpa Deployment/hpa-example 0%/50% 1 100 7 119mcron-federated-hpa Deployment/hpa-example 0%/50% 1 100 7 123m cron-federated-hpa Deployment/hpa-example 0%/50% 1 100 10 123m cron-federated-hpa Deployment/hpa-example 0%/50% 1 100 10 123m
查看CronFederatedHPA策略事件,可以看到策略的生效时间。
kubectl describe cronfederatedhpa cron-federated-hpa