创建存储后端

前提条件

  • 已获取存储设备的管理IP地址、用户名、密码等信息。
  • 已获取存储池名称、存储协议等配置信息,具体配置项说明请参考配置存储后端章节。

操作步骤

  1. 准备Secret配置文件,如backend-secret.yaml,Secret中字段说明见 表1 Secret字段说明 。

    apiVersion: v1
    kind: Secret
    metadata:
      name: backend-demo
      namespace: huawei-csi
    type: Opaque
    stringData:
      user: "admin"
      password: "******"
      authenticationMode: "0"
    

    执行以下命令创建Secret。

    kubectl apply -f backend-secret.yaml
    

    表 1 Secret字段说明

    参数

    描述

    必选

    默认值

    备注

    user

    用于登录存储的用户名。

    是

    -

      

    password

    用于登录存储的密码。

    是

    -

      

    authenticationMode

    用于登录存储的认证模式。可配值如下:

    • "0":本地认证
    • "1":LDAP认证

    否

    "0"

    仅 OceanStor Dorado/OceanStor V5/OceanStor V6/OceanStor A600/OceanStor A800 存储支持配置LDAP认证

    maxClientThreads

    同时连接到存储后端的最大连接数。

    否

    30

    范围1~30。

  2. 创建存储后端对应的ConfigMap资源,用于保存存储设备的管理配置信息。

    准备ConfigMap配置文件,以下以创建iSCSI协议类型的OceanStor SAN存储后端为例。其中csi.json键的值为存储后端配置的JSON格式,各配置项说明请按存储类型参考 配置存储后端 章节。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: backend-demo
      namespace: huawei-csi
    data:
      csi.json: |-
        {
          "backends": {
            "storage": "oceanstor-san",
            "name": "backend-demo",
            "namespace": "huawei-csi",
            "urls": ["https://192.168.129.157:8088"],
            "pools": ["StoragePool001"],
            "provisioner": "csi.huawei.com",
            "parameters": {
              "protocol": "iscsi",
              "portals": ["10.10.30.20", "10.10.30.21"]
            },
            "maxClientThreads": "30"
          }
        }    
    

    执行以下命令创建ConfigMap。

    kubectl apply -f backend-configmap.yaml
    
  3. 创建StorageBackendClaim资源,触发CSI控制器接入存储后端,StorageBackendClaim中字段说明见 表2 StorageBackendClaim spec字段说明 。

    准备StorageBackendClaim配置文件,如backend-claim.yaml。

    apiVersion: xuanwu.huawei.io/v1
    kind: StorageBackendClaim
    metadata:
      name: backend-demo
      namespace: huawei-csi
    spec:
      provider: csi.huawei.com
      configmapMeta: huawei-csi/backend-demo
      secretMeta: huawei-csi/backend-demo
      maxClientThreads: "30"
    

    执行以下命令创建StorageBackendClaim。

    kubectl apply -f backend-claim.yaml
    

    表 2 StorageBackendClaim spec字段说明

    参数

    描述

    必选

    默认值

    备注

    provider

    供应者名称,用于匹配CSI插件。

    是

    -

    固定填写:csi.huawei.com

    configmapMeta

    存储配置信息的ConfigMap引用,格式为<namespace>/<name>。

    是

    -

    需与步骤2中创建的ConfigMap名称一致。

    secretMeta

    存储认证信息的Secret引用,格式为<namespace>/<name>。

    是

    -

    需与步骤1中创建的Secret名称一致。

    maxClientThreads

    同时连接到存储后端的最大连接数。

    否

    30

    范围1~30。

  4. 执行以下命令检查存储后端创建结果。

    kubectl get sbct
    

    命令结果示例如下,StorageBackendContent在线状态为true,则创建成功。

    NAME              CLAIM                       SN               VENDORNAME   PROVIDERVERSION   ONLINE   AGE
    content-xxxxxxx   huawei-csi/backend-demo     xxxxxxxxxxxxxx   Huawei       4.13.0            true     53d