我对Kubernetes和GKE(谷歌容器引擎)整体都是新手,所以我正在使用水平pod自动缩放和群集自动缩放功能,通过足够强大地击中我的负载均衡器,使其扩展到足够的容量所需的容器更多的实例,所以它扩展了那些,但它已经到了 Pending 状态中有一些pod,但它也达到了自动扩展集群的最大实例数,所以它们被留下了在Pending
州。
然后我停止了负载测试,希望它能自行降低,但事实并非如此。我看了kubectl describe hpa
,我会看到如下错误:
7m 18s 18 {horizontal-pod-autoscaler } Warning FailedGetMetrics failed to get CPU consumption and request: metrics obtained for 4/5 of pods
7m 18s 18 {horizontal-pod-autoscaler } Warning FailedComputeReplicas failed to get CPU utilization: failed to get CPU consumption and request: metrics obtained for 4/5 of pods
实际上只有4个pod在运行(并且没有处于暂挂状态),并且查看heapster日志(kubectl logs -f heapster-v1.1.0-<id> --namespace=kube-system heapster
)我可以看到它实际上正在寻找不再存在的pod中的度量标准(这将是它抱怨的神秘的第5个吊舱。)
这个问题是因为它缺少第5个pod,它无法完成获得正在运行的4个pod的当前CPU利用率,因此水平pod自动缩放不起作用。
任何想法如何摆脱这种情况?
我已经尝试删除hpa并再次创建它,但它没有帮助。