K8sClusterMetrics 采集:kube-state-metrics
kube-state-metrics 用于采集和暴露k8s集群的metrics,它负责监听 K8s apiserver 从而生成metrics数据,指标数据通过 /metrics
Endpoint 暴露,主要是适配 Prometheus
1,下载将 kube-state-metrics examples 几个文件,分别为
2,修改镜像地址(默认镜像地址k8s.gcr.io 在国外。可以找个海外机器拉取下来上传到国内镜像仓库进行拉取)
3,安装kube-state-metrics
代码语言:txt复制kubectl apply -f ./
4,查看是否按照成功
代码语言:txt复制[root@k8s-node1 kube-state-metrics]# kubectl get pods -n kube-system -o wide | grep kube-state-metrics
kube-state-metrics-7dc5748c46-5d5rh 1/1 Running 0 3m41s 172.16.7.134 nodepool.pm86wdit.0 <none> <none>
#通过 /healthz 健康检查端口查看Pod状态。
[root@k8s-node1 kube-state-metrics]# curl 172.16.7.134:8080/healthz
OK
#通过 /metrics 接口可查看其采集的全量数据。
[root@k8s-node1 kube-state-metrics]# curl 172.16.7.134:8080/metrics
#登录其他POD里面执行
[root@centos-777bdddd57-zv7bv /]# curl kube-state-metrics.kube-system.svc.cluster.local:8080
<html>
<head><title>Kube Metrics Server</title></head>
<body>
<h1>Kube Metrics</h1>
<ul>
<li><a href='/metrics'>metrics</a></li>
<li><a href='/healthz'>healthz</a></li>
</ul>
</body>
</html>
#表示安装成功
5,常见问题
1,启动时候有可能端口冲突 可以按照如下文档 添加启动参数
https://github.com/bitnami/bitnami-docker-kube-state-metrics/blob/2.1.0-debian-10-r15/2/debian-10/Dockerfile