尝试在 Amazon EKS 上设置 HorizontalPodAutoscaler 时,始终显示 TARGETS 列<unknown>/50%
,并且在描述 HPA 时,我看到
警告 FailedGetResourceMetric 17s(1 小时内 x50)horizontal-pod-autoscaler 无法获取资源 cpu 的指标:无法从资源指标 API 中获取指标:服务器找不到请求的资源(获取 pods.metrics.k8s.io)
我在其他网站上发现了多篇关于--horizontal-pod-autoscaler-use-rest-clients
在 kube-controller-manager 上使用的类似问题的帖子,但我找不到方法来更改 EKS 集群的 kube-controller-manager 上的设置,因为你似乎无法通过 SSH 进入主节点进行管理,并且 kube-controller-manager 没有在系统中的任何地方列为资源。
我曾尝试按照以下说明手动设置指标服务器https://github.com/kubernetes-incubator/metrics-server但在这种情况下,我发现 EKS 没有提供验证 API 扩展所需的配置映射Could not create the API server: configmaps "extension-apiserver-authentication" not found
答案1
已编辑
AWS 已发布对具有自定义指标的水平 Pod 自动扩展的支持: https://aws.amazon.com/pt/about-aws/whats-new/2018/08/amazon-eks-supports-horizontal-pod-autoscaling-with-custom-metric/
上一个答案
这是 EKS 目前已知的问题。以下是我对支持人员的回复(部分省略):
遗憾的是,EKS 控制平面目前与指标服务器聚合器存在问题。EKS 服务团队正在努力解决这些问题,为控制平面提供指标服务器支持。
该功能发布后,应通过以下任一链接公开宣布:
- AWS 博客:https://blogs.amazon.com/
- 什么是新的:https://aws.amazon.com/new/
- AWS 发行说明:https://aws.amazon.com/releasenotes/
我已经表明了您对这个问题的关注,我将代表您寻求解决方案。
希望他们能尽快解决这个问题。
答案2
我知道这是一个老话题,但我想添加一些内容,因为我们最近在设置它时遇到了问题。
虽然从 eks 版本 eks.2 开始 Kubernetes 1.10 支持 HPA,但从 eks.1 版本开始 Kubernetes 1.11 已经支持 HPA。
但它不能“开箱即用”,并且问题与问题中描述的相同(当前 CPU 未设置)。
您需要知道,默认情况下,EKS 上未安装 metrics-server。您可以在此处找到 metrics-server:https://github.com/kubernetes-incubator/metrics-server。
当 metrics-server 运行后,HPA 便可以按预期在 EKS 上运行。
希望对大家有帮助!
答案3
它现在受支持,但有点晚了,需要一个新的集群,您还不能手动触发更新。
https://aws.amazon.com/blogs/opensource/horizontal-pod-autoscaling-eks/