目的:采集 K8s 资源状态,如 Pod、Deployment
在kubernetes中安装kube-state-metrics
镜像资源使用:quay.io/coreos/kube-state-metrics:v1.9.7
yaml文件地址:https://github.com/kubernetes/kube-state-metrics/blob/main/examples/standard/
步骤1:将standard目录下六个yaml文件下载上传到本地
步骤2:修改各个yaml文件中版本version,例:
步骤3:修改deployment.yaml文件中镜像image
步骤4:使用以下命令部署
kubectl apply -k /test/yaml
(/test/yaml 此目录下只有这六个yaml文件)
发现报错:The Service "kube-state-metrics" is invalid: spec.clusterIPs[0]: Invalid value: []string{"None"}: may not change once set
该报错为service.yaml文件中clusterIP为空
步骤5:使用
kubectl get service kube-state-metrics -n kube-system -o yaml | grep clusterIP
命令查看clusterIP值
clusterIP: 10.104.181.244
将service.yaml文件中clusterIP修改为10.104.181.244
步骤6:使用以下命令重新部署kube-state-metrics,再次查看pod状态为running
[root@master001 yaml]# kubectl delete -k /test/yaml[root@master001 yaml]# kubectl apply -k /test/yaml