Available with limitations in:  CSE Pro (1.73)

Available without limitations in:  EE

The module lifecycle stageGeneral Availability
The module has requirements for installation

The module installs and configures the CSI driver for Huawei SAN. The module allows you to create a StorageClass in Kubernetes by creating Kubernetes custom resources HuaweiStorageClass.

The user is not allowed to create a StorageClass for the csi.huawei.com CSI driver.

Currently, supports DSS Huawei Dorado storage devices. For other Huawei SAN support please contact tech support.

The snapshot-controller module must be enabled for this module to operate.

Supported access modes for the module: RWO, RWX — only in DVP.

System requirements and recommendations

Requirements

  • Presence of a deployed and configured Huawei SAN.
  • Unique iqn in /etc/iscsi/initiatorname.iscsi on each of Kubernetes Nodes

Quickstart guide

Note that all commands must be run on a machine that has administrator access to the Kubernetes API.

Enabling module

  • Enable the csi-huawei module. This will result in the following actions across all cluster nodes:

    • registration of the CSI driver;
    • launch of service pods for the csi-huawei components.
    d8 k apply -f - <<EOF
    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: csi-huawei
    spec:
      enabled: true
      version: 1
    EOF
  • Wait for the module to become Ready.

    d8 k get module csi-huawei -w

Creating a StorageClass

To create a StorageClass, you need to use the HuaweiStorageClass and HuaweiStorageConnection resource.

  • Here is an example command to create such a resource:

    d8 k apply -f -<<EOF
    apiVersion: storage.deckhouse.io/v1alpha1
    kind: HuaweiStorageConnection
    metadata:
      name: huaweistorageconn
    spec:
      storageType: OceanStorSAN
      pools:
        - test
      urls: 
        - https://192.168.128.101:8088 
      login: "admin"
      password: "<your-password>"
      protocol: ISCSI
      portals:
        - 10.240.0.101
        - 10.250.0.101 
      maxClientThreads: 30
    
    EOF
    d8 k apply -f -<<EOF
    apiVersion: storage.deckhouse.io/v1alpha1
    kind: HuaweiStorageClass
    metadata:
      name: huaweisc
    spec:
      fsType: ext4
      pool: test
      reclaimPolicy: Delete
      storageConnectionName: huaweistorageconn
      volumeBindingMode: WaitForFirstConsumer
    EOF
  • Check objects creation (Phase must be Created):

    d8 k get huaweistorageconnections.storage.deckhouse.io <huaweistorageconnection name>
    d8 k get huaweistorageclasses.storage.deckhouse.io <huaweistorageclass name>

Checking module health

You can verify the functionality of the module using the corresponding FAQ section.