在kuboard监控套件安装时,prometheus-k8两个pod状态一直为Pending,文中提供分析及解决方法。
kubernetes V1.23.5;
Kuboard V3.5.0.1;
资源层监控套件system-monitor.addons.kuboard.cn v3.1.7;
安装kuboard套件时,prometheus-k8s两个pod不能启动,状态为Pending
[root@rh-master01 ~]# kubectl get pod -n kuboardNAME READY STATUS RESTARTS AGE...prometheus-k8s-0 0/2 Pending 0 61sprometheus-k8s-1 0/2 Pending 0 61sprometheus-operator-5d7cc5dc4d-wv2ws 2/2 Running 0 103ssystem-monitor-config-864f784987-fhbzg 1/1 Running 0 62s
查看其中一个pod(prometheus-k8s-0)描述
[root@rh-master01 ~]# kubectl describe pod prometheus-k8s-0 -n kuboard...Warning FailedScheduling 94s default-scheduler 0/6 nodes are available: 6 persistentvolumeclaim "prometheus-k8s-db-prometheus-k8s-0" not found.Warning FailedScheduling 54s (x1 over 65s) default-scheduler 0/6 nodes are available: 6 persistentvolumeclaim "prometheus-k8s-db-prometheus-k8s-0" not found.
上述提示告警,当前6个节点上的PVC(prometheus-k8s-db-prometheus-k8s-0)没有发现:
0/6 nodes are available: 6 persistentvolumeclaim "prometheus-k8s-db-prometheus-k8s-0" not found
kuboard监控套件所需名称为prometheus-k8s-db-prometheus-k8s-0的的PVC未创建
进一步确认当前已有PVC
[root@rh-master01 ~]# kubectl get pvc -n kuboard | grep kuboardkuboard-kube-prometheus0 Bound kuboard-kube-prometheus1 40Gi RWX kuboard-kube-prometheus 7m34skuboard-kube-prometheus1 Bound kuboard-kube-prometheus0 40Gi RWX kuboard-kube-prometheus 7m34s
发现PVC名称为kuboard-kube-prometheus0、kuboard-kube-prometheus1,和kuboard所需的PVC名称有差异。
删除并重建kuboard依赖的PVC。
1) 删除原有StorageClass、PV、PVC
[root@rh-master01 kuboard]# kubectl delete -f kuboard-kube-prometheusV2.yaml
2) 修改配置
需要创建两个PVC:prometheus-k8s-db-prometheus-k8s-0、prometheus-k8s-db-prometheus-k8s-1,将原有自定义的PVC名称kuboard-kube-prometheus[0-1]更改为kuboard所需的名称。
vim kuboard-kube-prometheusV3.yaml #新建V3进行修改,调整PVC相关的配置... #StorageClass、PV部分不变,调整PVC部分lables和名称---apiVersion: v1kind: PersistentVolumeClaimmetadata:labels:name: prometheus-k8s-db-prometheus-k8s-0 #修改kuboard-kube-prometheus0为kuboard调用的PVC名称:prometheus-k8s-db-prometheus-k8s-0name: prometheus-k8s-db-prometheus-k8s-0 #修改kuboard-kube-prometheus0为kuboard调用的PVC名称:prometheus-k8s-db-prometheus-k8s-0namespace: kuboardspec:accessModes:- ReadWriteManyresources:requests:storage: 40GistorageClassName: kuboard-kube-prometheus---apiVersion: v1kind: PersistentVolumeClaimmetadata:labels:name: prometheus-k8s-db-prometheus-k8s-1 #修改kuboard-kube-prometheus1为kuboard调用的PVC名称:prometheus-k8s-db-prometheus-k8s-1name: prometheus-k8s-db-prometheus-k8s-1 #修改kuboard-kube-prometheus1为kuboard调用的PVC名称:prometheus-k8s-db-prometheus-k8s-1namespace: kuboardspec:accessModes:- ReadWriteManyresources:requests:storage: 40GistorageClassName: kuboard-kube-prometheus
3) 再次创建StorageClass、PV、PVC
[root@rh-master01 kuboard]# kubectl apply -f kuboard-kube-prometheusV3.yamlstorageclass.storage.k8s.io/kuboard-kube-prometheus createdpersistentvolume/kuboard-kube-prometheus0 createdpersistentvolume/kuboard-kube-prometheus1 createdpersistentvolumeclaim/prometheus-k8s-db-prometheus-k8s-0 createdpersistentvolumeclaim/prometheus-k8s-db-prometheus-k8s-1 created
4) prometheus-k8s两个pod运行正常
稍等片刻后,pod运行正常,问题解决。
[root@rh-master01 ~]# k get pod -n kuboardNAME READY STATUS RESTARTS AGE...prometheus-k8s-0 2/2 Running 0 37mprometheus-k8s-1 2/2 Running 0 37mprometheus-operator-5d7cc5dc4d-wv2ws 2/2 Running 0 38m
在kuboard监控套件安装时,prometheus-k8两个pod运行异常,官方文档未列出套件所需的PVC名称,通过分析,按需创建所需的PVC后,pod运行正常。
网传密图参考:

-- 完 --
更多精彩,敬请期待
不足之处,还望抛转。
作者:王坤,微信公众号:rundba,欢迎转载,转载请注明出处。
如需公众号转发,请联系wx:landnow。

往期推荐




