用于Prometheus监控kubernetes集群各个资源的状态,以及pod的数量
# git 下载最新的kube-state-metrics包
git clone https://github.com/kubernetes/kube-state-metrics.git
# 通过deployment部署kube-state-metrics
cd kube-state-metrics/examples/standard
# 修改国内镜像,查看可用镜像
[root@k8s-master examples]# docker search kube-state-metrics
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
bitnami/kube-state-metrics Bitnami Docker Image for Kube-state-metrics 17 [OK]
bitnamicharts/kube-state-metrics 0
drud/kube-state-metrics 0
kubesphere/kube-state-metrics KubeSphere revised kube-state-metrics 2
dyrnq/kube-state-metrics k8s.gcr.io/kube-state-metrics/kube-state-met… 1
carlosedp/kube-state-metrics These are the kube-state-metrics images requ… 7
surval/kube-state-metrics kube-state-metrics 0
ist0ne/kube-state-metrics https://gcr.io/google_containers/kube-state-… 3 [OK]
v5cn/kube-state-metrics sync k8s.gcr.io/kube-state-metrics/kube-stat… 4
sapcc/kube-state-metrics 0
dannystdu/kube-state-metrics 0
ibmcom/kube-state-metrics Docker Image for IBM Cloud Private-CE (Commu… 0
giantswarm/kube-state-metrics 0
openiamdocker/kube-state-metrics kube-state-metrics 0
cnvrg/kube-state-metrics 0
mirrorgooglecontainers/kube-state-metrics 3
raspbernetes/kube-state-metrics 2
lbbi/kube-state-metrics k8s.gcr.io 0
volterraio/kube-state-metrics 0
ricardbejarano/kube-state-metrics 🩺 Built-from-source container image of kube… 0
myscalepublic/kube-state-metrics 0
cyrilix/kube-state-metrics 0
liangjw/kube-state-metrics 0
rewind/kube-state-metrics Pull from k8s.gcr.io/kube-state-metrics/kube… 0
kubespheredev/kube-state-metrics 0
# 修改国内镜像
....
spec:
automountServiceAccountToken: true
containers:
- image: bitnami/kube-state-metrics
....
# 运行
kubectl apply -f kube-state-metrics/examples/standard/
# 查看svc
[root@k8s-master ~]# k -n kube-system get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 83d
kube-state-metrics ClusterIP None <none> 8080/TCP,8081/TCP 68m
# 在集群内pod测试访问kube-state-metrics svc 【svc-name,ns,svc.cluster.local】
root@nginx:/# curl kube-state-metrics.kube-system.svc.cluster.local:8080/metrics
# HELP kube_configmap_annotations Kubernetes annotations converted to Prometheus labels.
# TYPE kube_configmap_annotations gauge
# HELP kube_configmap_labels [STABLE] Kubernetes labels converted to Prometheus labels.
# TYPE kube_configmap_labels gauge
# HELP kube_configmap_info [STABLE] Information about configmap.
# TYPE kube_configmap_info gauge
kube_configmap_info{namespace="kube-system",configmap="kubelet-config-1.21"} 1
kube_configmap_info{namespace="kube-system",configmap="kubeadm-config"} 1
kube_configmap_info{namespace="kube-system",configmap="kubelet-config-1.23"} 1
kube_configmap_info{namespace="kube-system",configmap="kube-proxy"} 1
kube_configmap_info{namespace="kube-system",configmap="kubelet-config-1.22"} 1
kube_configmap_info{namespace="kube-system",configmap="extension-apiserver-authentication"} 1
kube_configmap_info{namespace="kube-public",configmap="kube-root-ca.crt"} 1
kube_configmap_info{namespace="kube-system",configmap="kube-flannel-cfg"} 1
kube_configmap_info{namespace="kube-node-lease",configmap="kube-root-ca.crt"} 1
kube_configmap_info{namespace="kube-public",configmap="cluster-info"} 1
kube_configmap_info{namespace="kube-system",configmap="kube-root-ca.crt"} 1
kube_configmap_info{namespace="kube-system",configmap="coredns"} 1
kube_configmap_info{namespace="monitor",configmap="kube-root-ca.crt"} 1
kube_configmap_info{namespace="default",configmap="kube-root-ca.crt"} 1
kube_configmap_info{namespace="kube-ops",configmap="kube-root-ca.crt"} 1
# HELP kube_configmap_created [STABLE] Unix creation timestamp