繁体   English   中英

存储 class 是否为每个 pod 动态配置持久卷?

[英]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 之间共享。

参考:

Kubernetes 部署与 StatefulSets

有没有办法在 kubernetes 部署(或 statefulset)中为每个 pod 创建一个持久卷?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM