在评论中您写道您已启用external.metrics
,但是在最初的问题中你遇到了问题custom.metrics
简而言之:
-
metrics
仅支持基本指标,如 CPU 或内存。
-
custom.metrics
允许您将基本指标扩展到所有 Kubernetes 对象(http_requests、pod 数量等)。
-
external.metrics
允许收集不是 Kubernetes 对象的指标:
外部指标允许您根据任何情况自动缩放集群
您的监控系统中可用的指标。只需提供一个指标
具有名称和选择器的块,如上所述,并使用外部指标
类型而不是对象
更详细的描述请查看this doc.
Minikube
验证是否custom.metrics
已启用,您需要执行下面的命令并检查是否可以看到任何metrics-server...
pod.
$ kubectl get pods -n kube-system
...
metrics-server-587f876775-9qrtc 1/1 Running 4 5d1h
第二种方法是检查是否minikube
已启用metrics-server
by
$ minikube addons list
...
- metrics-server: enabled
如果它被禁用,只需执行
$ sudo minikube addons enable metrics-server
✅ metrics-server was successfully enabled
GKE
目前在 GKEheapster
and metrics-server
默认打开,但是custom.metrics
默认不支持。
你必须安装prometheus adapter
or stackdriver
.
Kubeadm
Kubeadm 不包括heapster
or metrics server
一开始。为了方便安装,您可以使用这个 YAML.
稍后你必须安装prometheus adapter
.
应用自定义指标
对于Minikube
, Kubeadm
, GKE
.
最简单的申请方式custom.metrics
是安装普罗米修斯适配器 via Helm
.
安装helm后你将可以看到注释:
NOTES:
my-release-prometheus-adapter has been deployed.
In a few minutes you should be able to list metrics using the following command(s):
kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1
作为附加信息,您可以使用jq
获得更用户友好的输出。
kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1 | jq .