部署 local-volume-provisioner 没有对应pv,怎么原因造成

1 系统信息
centos 9 + k8s v 1.28.2

2 操作步骤
[root@c9-k8s-master-200 tidb]# kubectl get node
NAME STATUS ROLES AGE VERSION
c9-k8s-master-200 Ready control-plane 5d3h v1.28.2
c9-k8s-node-210 Ready 5d3h v1.28.2
c9-k8s-node-211 Ready 5d3h v1.28.2
c9-k8s-node-212 Ready 5d3h v1.28.2

在c9-k8s-node-210,c9-k8s-node-211,c9-k8s-node-212 创建以下目录
[root@c9-k8s-node-210 ~]# tree /mnt/
/mnt/
├── backup
├── hgfs
├── monitoring
├── sharedssd
└── ssd

[root@c9-k8s-master-200 tidb]# kubectl get po -n kube-system -l app=local-volume-provisioner && kubectl get pv | grep -e ssd-storage -e shared-ssd-storage -e monitoring-storage -e backup-storage
NAME READY STATUS RESTARTS AGE
local-volume-provisioner-c27vt 1/1 Running 0 28m
local-volume-provisioner-hfs8m 1/1 Running 0 28m
local-volume-provisioner-m5q5j 1/1 Running 0 28m
No resources found

  1. 确保 local-volume-provisioner 的配置正确,包括它所监控的路径与创建的目录匹配。
  2. local-volume-provisioner 需要足够的权限来在指定的目录下创建卷。检查运行 local-volume-provisioner 的服务账户是否有权限访问 /mnt/ 目录下的子目录。
  3. 检查 local-volume-provisioner 的配置文件(通常是 ConfigMap),确保配置的路径与节点上创建的路径一致。
  4. local-volume-provisioner 通过发现机制查找挂载点来创建 PV。如果发现机制没有按预期工作,可能是因为路径配置不正确或 local-volume-provisioner 没有正确地启动。
  5. 如果环境中没有对应的 StorageClass,那么即使 local-volume-provisioner 正常运行,也可能不会自动创建 PV。能想到的大概是这几个方面~

确认目录挂载: 确保 /mnt/backup/mnt/hgfs/mnt/monitoring/mnt/sharedssd/mnt/ssd 这些目录不仅存在于某个节点上,而且已经被正确挂载到所有相关节点上。

检查一下目录权限吧

确保目录权限是否合理以及是否已挂载。