仅配置Fargate Profile无节点组的AWS EKS集群HPA启用问题咨询
可行性确认
纯Fargate Profile、无Node Groups的AWS EKS集群完全支持启用HPA,你遇到的报错属于metrics server的调度配置问题,和架构兼容性无关。
报错原因分析
AWS EKS为所有Fargate节点默认添加了专属污点eks.amazonaws.com/compute-type: fargate,只有配置了对应容忍规则的Pod才会被调度到Fargate节点上运行。通用部署方案的metrics server默认未配置该污点的容忍规则,因此无法调度到你集群的Fargate节点上,触发对应报错。
解决步骤
- 调整metrics server的调度配置,为其添加Fargate污点的容忍规则:
如果你使用YAML直接部署,找到metrics server的Deployment资源,在spec.template.spec字段下新增如下配置:
如果你使用Helm部署,可以在安装时直接通过参数注入容忍规则,参考命令如下:tolerations: - key: "eks.amazonaws.com/compute-type" operator: "Equal" value: "fargate" effect: "NoSchedule"helm install metrics-server metrics-server/metrics-server -n kube-system \ --set tolerations[0].key=eks.amazonaws.com/compute-type \ --set tolerations[0].operator=Equal \ --set tolerations[0].value=fargate \ --set tolerations[0].effect=NoSchedule - 确认你的Fargate Profile已匹配metrics server所在的命名空间:默认metrics server部署在
kube-system命名空间下,如果你的Fargate Profile未配置该命名空间的匹配规则,需要更新Fargate Profile添加kube-system作为匹配命名空间,或者添加对应Pod标签选择器匹配metrics server的Pod。 - 重新应用metrics server配置,待Pod正常启动后,执行
kubectl top nodes、kubectl top pods命令验证指标采集正常,确认无误后即可正常配置HPA规则。
内容的提问来源于stack exchange,提问作者yurybubnov
相关产品推荐
相关产品推荐

