我创建PV的方式如下:
apiVersion: v1
kind: PersistentVolume
metadata:
name: foo-pv
spec:
storageClassName: "my-storage"
claimRef:
name: foo-pvc
namespace: foo为什么我们需要在PV中使用storageClassName?当存储类创建PV时,为什么在PV中给出storageClassName?
有人能帮我理解这一点吗?
发布于 2022-08-11 22:29:21
根据Kubernetes的官方文件:
为什么我们需要在PV中给storageClassName?
每个StorageClass包含字段提供器、参数和reclaimPolicy,当属于该类的PersistentVolume需要动态配置时使用这些字段。 StorageClass对象的名称非常重要,是用户请求特定类的方式。管理员在第一次创建StorageClass对象时设置类的名称和其他参数,一旦创建对象,就不能更新这些对象。
当存储类创建PV时,为什么在PV中给出storageClassName?
PersistentVolume (PV)是集群中由管理员提供或使用存储类动态配置的存储部分。它是集群中的资源,就像节点是集群资源一样。 集群管理员需要能够提供与大小和访问模式不同的各种PersistentVolumes,而不必让用户了解这些卷是如何实现的。对于这些需求,有StorageClass资源。
发布于 2022-11-09 09:09:44
您可以拥有两种类型的PV:
Dynamically -> --通常在云中使用,例如,当您想要将Azure blob/文件挂载到一个pod时。在这种情况下,您无法控制PV名称、StorageClass创建和绑定随机创建的PV。

手动 -> --这将提供更多的控制,您可以为PV指定一个特定的名称,即具有保留策略的特定StorageClass (在Pod发布后不要删除PV )。因此,可以更容易地重用PV,知道它的名称和StorageClass成员资格。

https://stackoverflow.com/questions/73261616
复制相似问题