Как проверить работоспособность модуля?

Для этого необходимо проверить состояние подов в namespace d8-csi-huawei. Все поды должны быть в состоянии Running или Completed и запущены на всех узлах.

kubectl -n d8-csi-huawei get pod -owide -w

Как я могу использовать одну физическую СХД для разных кластеров независимо?

В СХД Huawei есть такое понятие, как vStore. Это виртуальная СХД - по сути хранилище в хранилище.

ВНИМАНИЕ! Не поддерживается использование двух vStore в одном и том же кластере! Ограничение связано с маппингом хостов к vStore - у разных vStore не может быть хостов с одинаковыми именами так же, как не может быть одинаковых iSCSI-инициаторов.

Для примера возьмем настройку СХД для двух кластеров, в каждом из которых развернут модуль csi-huawei.

Настройка СХД

Создание vStore

1. Логинимся в СХД суперадмином, который был создан на этапе инициализации СХД.

2. Переходим в пункт меню (сверху) Services - vStores

3. Нажимаем кнопку Create и заполняем форму:

Где, Name - это имя vStore (например, vStore_2), Associate with Storage Pool - возможность привязать vStore к конкретным Storage Pool в этом случае vStore сможет использовать только их, Associate with FC Port - возможность привязать vStore к конкретным физическим портам FibreChannel.

Потом нажимаем кнопку ОК - все, vStore создан.

4. Создаем пользователя для управления vStore

В списке vStore выбираем наш vStore одиночным щелчком, в открывшемся окошке переходим на вкладку User management и нажимаем кнопку Create:

Заполняем форму:

Name - имя пользователя, например, admin_2, Два раза пароль, Role - vStore Administrator - пользователю нужны права на управление ресурсами vStore,

Потом нажимаем кнопку ОК - все, пользователь создан.

5. Создаем management порт для vStore

Чтобы к vStore можно было подключаться, ему необходим свой собственный порт для управления. Системные management порты не используются для входа администраторов vStore.

Переходим в Services - Logical ports нажимаем кнопку Create и заполняем форму:

Name - название порта, например data-management-port-2, Role - management или service+management. В первом случае это будет порт только для control plane и потребуется создать еще один логический порт для data plane; во втором - это будет порт и под управление и под данные, Owning vStore - имя vStore, который создали выше, IP address, subnet mask, gateway - сетевые настройки порта, Port type - Ethernet port/Bond/VLAN, Home port - физический порт СХД, который будет использоваться для управления vStore (или и под данные тоже).

Нажимаем кнопку ОК - все, порт создан, можно подключаться к консоли управления vStore.

6. Подключаемся к консоли управления vStore

Открываем в браузере адрес https://[ip-адрес логического порта, который вы создали]:8088 (в примере: https://10.220.0.101:8088) Вводим логин и пароль пользователя и СХД сразу же предлагает пароль сменить, меняем пароль на новый постоянный, он будет использоваться для подключения к СХД далее.

Все, СХД настроена.

Полностью аналогично создаем второй vStore - c другим названием, пользователем и логическим портом для управления.

Подключаемся к СХД из кластера

Разворачиваем модуль csi-huawei в кластере. См. документацию

Создаем HuaweiStorageConnection, например такой:

apiVersion: storage.deckhouse.io/v1alpha1
kind: HuaweiStorageConnection
metadata:
  name: hsconn-220
spec:
  storageType: OceanStorSAN
  pools:
    - prod # Имя StoragePool
  urls:
    - https://10.220.0.101:8088 # IP-адрес логического порта
  login: "admin_2" # Логин администратора vStore
  password: 'Rra2#fsdfs' # Его пароль
  protocol: ISCSI
  portals:
    - 10.220.0.101 # Data-plane address
  maxClientThreads: 30

Далее создаем HuaweiStorageClass и после этого уже можно создавать поды и PVC, используя имя стораджкласса.