我有两个节点的Kubernetes集群,即一个主节点和两个工作节点。为了进行监视,我部署了Prometheus和Grafana。现在,我想根据CPU使用率自动缩放Pod。但是即使配置了Grafana和Prometheus,我仍然收到以下错误---
Shapeless
有人能让我知道为什么Kubernetes不从Prometheus获取指标吗?
答案 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