【发布时间】:2021-09-23 06:41:44
【问题描述】:
我在 kubernetes 集群中有一个 PV alpha-pv,并创建了一个符合 PV 规范的 PVC。 PV 使用Storage Class: slow。但是,当我检查集群中存储类的存在时,不存在存储类,我的 PVC 仍然是 PV 的Bound。
如果集群中不存在 PV/PVC 中引用的 Storage Class,这怎么可能?
如果我没有在 PVC 中提及存储类,我会收到错误消息,说明存储类集。集群中已经存在一个 PV,它具有 RWO 访问模式、1Gi 存储大小和名为 slow 的存储类。但是在查看存储类详细信息时,集群中没有存储类资源。
如果我在我的 PVC mysql-alpha-pvc 中添加存储类名称 slow,那么 PVC 将绑定到 PV。但我不清楚当集群中不存在名为 slow 的 PV/PVC 中引用的存储类时会发生这种情况。
【问题讨论】:
-
这是一个裸机部署还是一些托管的 kubernetes 服务?谁是存储类的提供者?这将提供有关默认 storageClasses 的想法。
-
是的,存储类应该存在,所以
PersistentVolumeClaim可以找到storageClass并创建一个PersistentVolume。请运行此kubectl get storageclasses以查看您是否有任何存储类。 -
不,这是一个虚拟化环境。
-
嗨@moonkotte,你可以看到我已经粘贴了命令的输出,集群中没有这样的存储类,PVC仍然绑定到Claim。我已经运行了该命令,但没有找到存储类。
-
@MayurKadam 你在学习任何类型的教程吗?您可以删除 PV 和 PVC 以及存储类。然后添加PVC,看看会发生什么(它不应该工作)。另外我可以看到你有两个有两个存储类:
slow和slow-storage。如果你没有在 PVC 中指定storageClassName,default one will be used
标签: kubernetes persistent-volumes kubernetes-pvc persistent-volume-claims