在k3s上使用OpenEBS时,分布式存储PVC处于挂起状态并等待外部 provisioning,不确定原因

91次阅读
没有评论

问题描述

在k3s集群上使用OpenEBS设置分布式RAID 1+0存储时,遇到了PVC(Persistent Volume Claim)处于挂起状态并等待外部 provisioning 的问题。用户尝试了一些方法但仍无法解决,现在希望能够找到解决方法。

解决方案

请注意以下操作可能涉及到版本差异或配置调整,确保做好备份。

检查网络配置

在一些情况下,严格的防火墙设置可能会导致基于cStor存储池的存储类(StorageClass)提供的PV(Persistent Volume)创建失败。尽管存储池和存储类已经创建,但PV可能会无限期地保持在挂起状态。首先,需要检查OpenEBS provisioner的日志以了解具体的错误信息。

解决步骤

  1. 检查OpenEBS provisioner的日志,以便了解更多关于挂起状态的原因。查看日志以定位问题所在。
  2. 如果发现防火墙设置可能是问题所在,考虑打开运行OpenEBS API pod的节点上的端口5656/tcp。这可能是解决问题的一种方法。
  3. 如果在节点上存在网络桥(network bridge),并且在/etc/sysctl.conf中设置了net.bridge.bridge-nf-call-iptables=1,则可能会导致此问题。这个设置在一些Kubernetes安装中是必需的,比如Rancher Kubernetes Engine(RKE)。可以尝试暂时性地移除这个设置,然后重新测试PV的创建。

链接

关于此问题的更多信息,可以参考OpenEBS的官方文档:https://openebs.io/docs/main/troubleshooting/volume-provisioning#persistent-volumes-indefinitely-remain-in-pending-state

考虑网络桥的影响

如果集群中使用了网络桥(network bridge),并且设置net.bridge.bridge-nf-call-iptables=1可能导致PV创建失败。在一些情况下,移除网络桥可能是解决问题的方法。

解决步骤

  1. 检查集群中是否使用了网络桥。
  2. 如果存在网络桥并且设置了net.bridge.bridge-nf-call-iptables=1,尝试将此设置移除。
  3. 在移除设置后,重新测试PV的创建是否成功。

注意

移除网络桥可能会对集群中的其他功能产生影响,请谨慎操作,并确保做好备份。

以上两种方案是解决在k3s上使用OpenEBS时,PVC处于挂起状态并等待外部 provisioning 的常见问题。用户可以根据实际情况选择其中一种或多种方案进行尝试,以解决PV挂起的问题。如果问题仍然存在,建议深入研究OpenEBS文档以获取更多关于此问题的信息。

正文完