May*_*dam 3 kubernetes persistent-volumes persistent-volume-claims kubernetes-pvc
alpha-pv我在 kubernetes 集群中有一个 PV ,并创建了一个与 PV 规格匹配的 PVC。PV 使用Storage Class: slow. 但是,当我检查集群中是否存在存储类时,没有存储类存在,但我的 PVC 仍然是BoundPV。
当 PV/PVC 中引用的存储类在集群中不存在时,这怎么可能?
如果我没有在 PVC 中提及存储类,我会收到指出存储类集的错误消息。集群中已经存在一个 PV,其具有RWO访问模式、1Gi存储大小以及名为 的存储类slow。但在检查存储类详细信息时,集群中没有存储类资源。
slow如果我在 PVC 中添加存储类名称mysql-alpha-pvc,则 PVC 会绑定到 PV。但我不清楚当slow集群中不存在名为 PV/PVC 的存储类时,会发生这种情况。
这取决于。
使用 a 的主要目的之一storageClass是动态配置。这意味着一旦持久卷声明请求存储,持久卷将被自动配置:立即或在创建使用它的 Pod 之后PVC。请参阅卷绑定模式。
还:
StorageClass 为管理员提供了一种描述他们提供的存储“类别”的方法。不同的类别可能映射到服务质量级别、备份策略或集群管理员确定的任意策略。Kubernetes 本身对于类代表什么没有意见。这个概念有时在其他存储系统中称为“配置文件”。
参考。
例如,如果在云中使用 kubernetes(Google GKE、Azure AKS 或 AWS EKS),它们已经有预定义的storageClasses,例如来自 Google GKE 的:
$ kubectl get storageclasses
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
premium-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 27d
standard (default) kubernetes.io/gce-pd Delete Immediate true 27d
standard-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 27d
Run Code Online (Sandbox Code Playgroud)
因此您可以创建PVC并参考storageClass,PV将为您创建。
您面临的另一个场景是您可以创建PVC并PV使用任何自定义storageClassName仅用于绑定目的。通常它用于在本地测试某些东西。这也称为静态配置。
在这种情况下,您可以创建 Kubernetes 服务器中不存在的“假”存储类。
请参阅此类绑定的示例:
它定义了 PersistentVolume 的 StorageClass 名称手册,该名称将用于将 PersistentVolumeClaim 请求绑定到此 PersistentVolume。
| 归档时间: |
|
| 查看次数: |
2976 次 |
| 最近记录: |