【问题标题】:Can I getting the ACCESS MODES supported by storageclasses.storage.k8s.io?我可以获得 storageclasses.storage.k8s.io 支持的访问模式吗?
【发布时间】:2021-04-28 23:47:27
【问题描述】:

例如我想用 RWX ACCESS_MODE 创建一个 pvc,我可以提前知道默认的 sorageclasses 是否支持 RWX?

【问题讨论】:

    标签: kubernetes kube-apiserver


    【解决方案1】:

    Kubernetes 不支持此功能。您必须手动查找您的存储类支持哪些访问模式。

    【讨论】:

      【解决方案2】:

      从头开始 - 我建议您阅读有关 StorageClasses 的官方文档。

      StorageClass 为管理员提供了一种描述他们提供的存储“类别”的方法。不同的类可能映射到服务质量级别、备份策略或集群管理员确定的任意策略。 Kubernetes 本身对于类所代表的含义是没有意见的。这个概念在其他存储系统中有时称为“配置文件”。 每个 StorageClass 包含字段provisionerparametersreclaimPolicy,当需要动态配置属于该类的 PersistentVolume 时使用这些字段.

      看看volume plugins(aka provisioners)

      每个 StorageClass 都有一个配置器来确定什么卷插件 用于配置 PV。必须指定该字段。你是 不限于指定此处列出的“内部”供应商 (其名称以“kubernetes.io”为前缀并与 Kubernetes)。您还可以运行并指定外部供应商,它 是遵循 a 的独立程序 specification 由 Kubernetes 定义。

      重要特征是mount-option

      由 StorageClass 动态创建的持久卷将 在类的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 标记为默认值。如果其中两个或多个被标记为默认值,则无法创建没有明确指定storageClassNamePersistentVolumeClaim。集群管理员可以根据需要定义任意数量的StorageClass 对象。 查看更多:changing-default-storageclass

      【讨论】:

      • 我已经编辑了我的答案,你看了吗?
      猜你喜欢
      • 1970-01-01
      • 2011-05-03
      • 2017-06-16
      • 2014-04-28
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多