如何注释第三方存储能力

随着公有云和私有云环境的广泛使用,第三方存储集成变得日益重要。本指南将引导您如何使用 ConfigMap 注释第三方存储能力,以便您的平台能够自动识别并展示这些能力。

目录

第一步:打开存储类配置

  1. 在平台的 UI 中进入 Platform Management
  2. 从左侧边栏导航至 Storage Management > Storage Classes
  3. 点击 Create Storage Class 开始定义新的存储类。

第二步:填写存储类信息

在表单中提供以下信息:

字段描述
Name您新建存储类的名称。
Storage Class选择或定义存储类标识符。
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. 点击 Create 保存您的存储类。
  2. 平台将自动匹配 provisioner 与 ConfigMap,并用定义的能力注释存储类。

可选:使用注释的存储类创建 PVC

通过 表单 UI 创建 Persistent Volume Claim (PVC) 时,仅会显示注释 ConfigMap 中支持的能力选项,不支持的选项将不会出现。