[英]How to use OpenStack Cinder to create storage class and dynamically provision persistent volume in Kubernetes Cluster
[英]Does the storage class dynamically provision persistent volume per pod?
Kubernetes 新手在这里,所以我的问题可能没有意义。 请多多包涵。
所以我的问题是,假设我已经在集群中设置了存储 Class,那么我有一个 PVC(它使用该存储类)。 如果我在部署中使用该 PVC,并且该部署有 5 个副本,存储 Class 是否会创建 5 个 PV? 每个 Pod 一个? 还是该部署下的所有 Pod 仅共享 1 个 PV?
编辑:我在这个集群中有 3 个节点
提前致谢。
Persistent Volume Claim资源与部署分开指定。 不管部署有多少副本,kubernetes 将只有您定义的 PVC 资源数量。
如果您正在寻找创建自己的 PVC 的多个有状态容器,请改用StatefulSet 。 这包括VolumeClaimTemplate
定义。
如果您希望所有部署副本共享一个 PVC,存储 class 提供程序插件将需要是ReadOnlyMany 或 ReadWriteMany
直接回答我的问题。
在这种情况下,存储 Class 将仅提供一个 PV,并在使用该 PVC 的 Deployment 下的所有 Pod 之间共享。
PVC 的 accessModes 并不规定是否为每个 pod 创建一个 PV。 您可以将accessModes设置为 ReadWriteOnce/ReadOnlyMany/ReadWriteMany,它将始终创建 1 个 PV。
如果你希望每个 Pod 都有自己的 PV,你不能在 Deployment 下这样做
您将需要使用StatefulSet使用volumeClaimTemplates 。
StatefulSet 使用 volumeClaimTemplates 很重要,否则,它仍将与 Deployment 一样,即 Storage Class 将仅配置一个 PV,该 PV 在该 StatefulSet 下的所有 pod 之间共享。
参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.