如何标注第三方存储能力

随着公有云和私有云使用场景的不断增加,第三方存储集成变得越来越重要。本指南将带您了解如何通过 ConfigMap 标注第三方存储能力,以便您的平台能够自动识别并展示这些能力。


步骤一:进入存储类配置页面

  1. 打开 平台管理 界面。
  2. 在左侧导航栏选择 存储管理 > 存储类
  3. 点击 创建存储类 开始配置新的存储类。

步骤二:填写存储类信息

请在表单中提供以下信息:

参数名描述
名称存储类的名称。
存储类选择或定义存储类的标识。
Provisioner填写所使用存储插件的 Provisioner 名。

步骤三:通过 ConfigMap 标注存储能力

为了启用能力标注,需要在 kube-public 命名空间中创建一个 ConfigMap,并使用适当的标签和数据格式。

示例 YAML:

apiVersion: v1
kind: ConfigMap
metadata:
  name: sd-built-in
  namespace: kube-public
  labels:
    features.alauda.io/type: StorageDescription
data:
  storage.type1.com: |-
    type: Filesystem
    volumeMode:
    - Filesystem
    accessModes:
    - ReadWriteOnce
    - ReadWriteMany
    - ReadWriteOncePod
  storage.type2.com: |-
    type: Filesystem
    snapshot: true
    volumeMode:
    - Filesystem
    - Block
    accessModes:
    - ReadWriteOnce
    - ReadOnlyMany
    - ReadWriteOncePod

关键点:

  • metadata.name:必须以 sd- 开头,例如:sd-configmap1
  • metadata.namespace:必须为 kube-public
  • metadata.labels:必须包含标签 features.alauda.io/type = StorageDescription
  • data
    • 每个 key 对应于存储类中的 provisioner 字段。
    • 每个 value 是描述存储支持的能力的 YAML 字符串。

步骤四:理解支持的存储能力字段

以下是您可以在 ConfigMap 中定义的支持字段:

能力类别字段名可选值默认值说明
类型typeFilesystemBlock如果省略或不合法,类型将显示为未知。
快照snapshottruefalsefalse如果为 false 或不合法,则无法通过表单 UI 创建快照。
卷模式volumeModeFilesystemBlockFilesystem使用 Block 模式的 PVC 不支持作为目录挂载。
访问模式accessModesReadWriteOnceReadOnlyManyReadWriteManyReadWriteOncePod如果省略或不合法,则无法通过 UI 选择访问模式。ReadWriteOncePod 当前不支持表单选择。

步骤五:完成存储类创建

完成上述信息后:

  1. 点击 创建 保存存储类。
  2. 平台将自动将 provisioner 与 ConfigMap 匹配,并使用定义的能力标注存储类。

可选操作:使用已标注的存储类创建 PVC

当您通过 表单 UI 创建持久卷声明(PVC)时,表单中仅会显示来自标注的 ConfigMap 的支持能力。未支持的选项将不会出现。