例如,我想用 RWX ACCESS_MODE 创建一个 pvc,我可以提前知道默认的 sorageclasses 是否支持 RWX?
2 回答
Kubernetes 不支持此功能。您必须手动查找存储类支持的访问模式。
从头开始 - 我建议您阅读有关StorageClasses的官方文档。
StorageClass 为管理员提供了一种描述他们提供的存储“类别”的方法。不同的类可能映射到服务质量级别、备份策略或集群管理员确定的任意策略。Kubernetes 本身对类代表什么没有意见。这个概念有时在其他存储系统中称为“配置文件”。每个 StorageClass 包含字段
provisioner
、parameters
和reclaimPolicy
,当需要动态配置属于该类的 PersistentVolume 时使用这些字段。
看看卷插件(又名供应商)。
每个 StorageClass 都有一个配置器,用于确定用于配置 PV 的卷插件。必须指定此字段。您不限于指定此处列出的“内部”供应商(其名称以“kubernetes.io”为前缀并与 Kubernetes 一起提供)。 您还可以运行和指定外部供应商,它们是遵循Kubernetes 定义的规范的独立程序 。
重要功能是 mount-option。
由 StorageClass 动态创建的 PersistentVolume 将在
mountOptions
类的字段中指定挂载选项。如果卷插件不支持挂载选项但指定了挂载选项,则配置将失败。挂载选项不会在类或 PV 上验证,因此如果一个无效,PV 的挂载将简单地失败。
最后,您必须手动检查资源的访问模式。首先检查默认设置了哪个StorageClass:
$ kubectl get storageclass
然后获取有关它的信息:
$ kubectl describe storageclass <your-default-storage-class>
现在您将能够检查卷插件及其挂载选项和访问模式。它特定的存储类不支持想要的访问模式将不同的存储类标记为默认值:
$ kubectl patch storageclass <your-storage-class> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
请注意,最多可以将一个 StorageClass 标记为默认值。如果其中两个或多个被标记为默认值,则无法创建PersistentVolumeClaim
没有明确指定的 a。storageClassName
集群管理员可以根据需要定义任意数量的StorageClass
对象。查看更多:更改默认存储类。