[k8s] 解决报错: driver name rook-ceph.cephfs.csi.ceph.com not found in the list of registered CSI driver

部署在某云平台的k8s集群,节点配置如下
在这里插入图片描述
尝试部署openebs/jiva 和 root/ceph 的CSI驱动都出现类似以下报错:

MountVolume.MountDevice failed for volume "pvc-a7dfc3f5-e719-442d-82cd-68da52c568b2" : driver name rook-ceph.cephfs.csi.ceph.com not found in the list of registered CSI drivers

问题定位:
1 plugin pod可以正常调度到master节点,pv也可以自动生成并attach到pod,也就是说CSI驱动本身部署没有问题
2 由于CSI驱动是通过 /var/lib/kubelet/plugins_registry/xxxx-reg.sock 进行注册的,查看各个node的注册路径也已经正确生成 /var/lib/kubelet/plugins_registry/xxxx-reg.sock 文件
3 由于这套k8s集群是从云平台自动生成的,可能kubelet的配置有修改过
4 最终定位到问题原因是docker和kubelet的root-dir都被云平台设置为 /data/var/lib/xxx,而xxx-reg.sock文件却是在 /var/lib/kubelet/plugins_registry/ 目录下,从而导致 kubelet 无法找到 /data/var/lib/kubelet/plugins_registry/xxxx-reg.sock 文件

解决方案:
修改 /etc/docket/daemon.json,恢复root-dir 为默认 /var/lib/docker
修改 /etc/default/kubelet,恢复root-dir 为默认 /var/lib/kubelet
然后重启服务

systemctl restart docker
systemctl restart kubelet

重新部署CSI驱动就可以正常识别了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值