Available in some commercial editions: EE
Deckhouse provides support for Huawei Dorado storage systems, enabling volume management in Kubernetes using a CSI driver through the creation of custom resources like HuaweiStorageClass. This solution ensures high-performance and fault-tolerant storage, making it an optimal choice for mission-critical workloads.
User-created StorageClass for the csi.huawei.com
CSI driver is not allowed.
Only Huawei Dorado storage systems are supported. For other Huawei storage systems, please contact technical support.
This page provides instructions on connecting Huawei Dorado to Deckhouse, configuring the connection, creating StorageClass, and verifying storage functionality.
System requirements
- Presence of a deployed and configured Huawei SAN;
- Unique IQNs in
/etc/iscsi/initiatorname.iscsi
on each Kubernetes Nodes.
Setup and Configuration
Note that all commands must be run on a machine that has administrator access to the Kubernetes API.
Enabling the module
To support Huawei Dorado storage systems, enable the csi-huawei
module. This will ensure that all cluster nodes have:
- 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: "ivkerg43grdsf_"
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
You can 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>
How to check module health?
To do this, you need to check the status of the pods in the d8-csi-huawei
namespace. All pods should be in the Running
or Completed
state and should be running on all nodes.
d8 k -n d8-csi-huawei get pod -owide -w