EKS集群HPA CPU状态显示<unknown>的问题排查及解决
问题
在Amazon EKS环境中配置Pod自动扩缩容时,遇到HPA的CPU状态显示为<unknown>的异常,执行kubectl get hpa输出如下:
$kubectl get hpa NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE php-apache Deployment/php-apache <unknown>/50% 1 10 0 3s
已尝试以下排查操作,但问题未得到解决:
- 下载metrics-server最新组件配置文件:
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml - 在metrics-server的Deployment模板中添加
--kubelet-insecure-tls参数,修改后的配置片段如下:template: metadata: labels: k8s-app: metrics-server spec: containers: - args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - --kubelet-use-node-status-port - --metric-resolution=15s - --kubelet-insecure-tls # 新增参数
解决方法
执行kubectl top pod php-apache-cd47555dc-wskwk查看目标Pod的内存指标,在获取到正常的指标返回结果后,再次执行kubectl get hpa,发现HPA的CPU状态已能正常显示。目前暂未明确该操作触发问题修复的具体原因,但问题已解决。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

