HPA无法从Kubernetes中的Prometheus获取指标

时间:2019-06-19 11:22:43

标签: kubernetes grafana prometheus

我有两个节点的Kubernetes集群,即一个主节点和两个工作节点。为了进行监视,我部署了Prometheus和Grafana。现在,我想根据CPU使用率自动缩放Pod。但是即使配置了Grafana和Prometheus,我仍然收到以下错误---

Shapeless

有人能让我知道为什么Kubernetes不从Prometheus获取指标吗?

3 个答案:

答案 0 :(得分:1)

Kubernetes从metrics.k8s.io API(通常由metrics-server实现,可以单独安装)或custom.metrics.k8s.io API(可以是任何类型的度量,通常是由第三方提供)。要将HPA中的prometheus用于kubernetes,需要安装Prometheus Adapter自定义指标API。

可以找到here的设置指南。

答案 1 :(得分:0)

您不需要自定义指标即可将HPA用于根据其CPU使用量自动扩展Pod。

就像@ Blokje5前面提到的,您只需要安装'kube-state-metrics'。

最方便的方法是使用专用头盔图(kube-state-metrics)。

提示::将覆盖参数与'helm install'结合使用,以为'kube-state-metrics'Pod创建ServiceMonitor对象,以允许Prometheus发现用于刮取指标的新目标,例如:

helm install stable/kube-state-metrics --set prometheus.monitor.enabled=true

备注:请注意现有Prometheus资源对象/配置中定义的“ serviceMonitorSelector”,以使其与“ kube-state-metrics”的ServiceMonitor定义匹配。这是为了在Prometheus控制台中提供Pods的指标。

答案 2 :(得分:0)

现在不再使用堆:https://github.com/kubernetes-retired/heapster

要在群集上启用自动缩放,可以使用HPA(水平吊舱自动缩放器),还可以安装指标服务器来检查所有指标。

要在kubernetes上安装指标服务器,您也可以遵循本指南:

amazon : https://docs.aws.amazon.com/eks/latest/userguide/metrics-server.html
https://github.com/kubernetes-incubator/metrics-server
https://medium.com/@cagri.ersen/kubernetes-metrics-server-installation-d93380de008