Доступно с ограничениями в редакциях: CSE Lite (1.73), CSE Pro (1.73)
Доступно без ограничений в редакциях: EE
Стадия жизненного цикла модуля: General Availability
У модуля есть требования для установки
Модуль предоставляет CSI для управления томами c использованием СХД HPE. Модуль позволяет создавать StorageClass в Kubernetes через создание пользовательских ресурсов Kubernetes HPEStorageClass.
Внимание! Создание
StorageClassдля CSI-драйвераcsi.hpe.comпользователем запрещено. Внимание! Поддерживаемые семейства СХД HPE (выбираются в HPEStorageConnection черезspec.storageType):
Primera3Par— HPE 3PAR / Primera / Alletra 9000 / Alletra MP B10000 (block);NimbleAlletra— HPE Nimble и HPE Alletra 5000/6000.Для поддержки других СХД HPE, пожалуйста, свяжитесь с техподдержкой.
Доступные режимы доступа для модуля: RWO, RWX — только в DVP.
Системные требования и рекомендации
Требования
- Наличие развернутой и настроенной СХД HPE.
- Уникальные iqn в /etc/iscsi/initiatorname.iscsi на каждой из Kubernetes Nodes
- Модуль
snapshot-controllerдолжен быть включен в кластере (требуется для функциональности снапшотов томов).
Быстрый старт
Все команды следует выполнять на машине, имеющей доступ к API Kubernetes с правами администратора.
Включение модуля
- Включить модуль
csi-hpe. Это приведет к тому, что на всех узлах кластера будет:- зарегистрирован CSI драйвер;
- запущены служебные поды компонентов
csi-hpe.
kubectl apply -f - <<EOF
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: csi-hpe
spec:
enabled: true
version: 1
EOF- Дождаться, когда модуль перейдет в состояние
Ready.
kubectl get module csi-hpe -wСоздание StorageClass
Для создания StorageClass необходимо использовать ресурсы HPEStorageClass и HPEStorageConnection. Пример команд для создания таких ресурсов:
kubectl apply -f -<<EOF
apiVersion: storage.deckhouse.io/v1alpha1
kind: HPEStorageConnection
metadata:
name: hpe
spec:
# Выбор CSP (Container Storage Provider — компонент, через который
# модуль ходит в СХД), к которому привязывается это подключение. Имя
# сервиса и порт выводятся из этого значения автоматически и больше не
# настраиваются вручную. Допустимые значения:
# - Primera3Par — HPE 3PAR / Primera / Alletra 9000 / Alletra MP B10000 (блочный режим).
# - NimbleAlletra — HPE Nimble и HPE Alletra 5000/6000.
storageType: Primera3Par
controlPlane:
backendAddress: "172.17.1.55" # mutable, адрес СХД
username: "3paradm" # mutable, API username
password: "3pardata" # mutable, API password
EOFkubectl apply -f -<<EOF
apiVersion: storage.deckhouse.io/v1alpha1
kind: HPEStorageClass
metadata:
name: hpe
spec:
pool: "test-cpg"
accessProtocol: "fc" # required, immutable, одно из: iscsi, fc
fsType: "xfs" # required, mutable, одно из: xfs, ext4
storageConnectionName: "hpe" # required, immutable, имя существующего HPEStorageConnection
reclaimPolicy: Delete # required, immutable, одно из: Delete, Retain
cpg: "test-cpg" # optional, immutable
EOF- Проверить создание объекта можно командой (Phase должен быть
Created):
kubectl get hpestorageconnections.storage.deckhouse.io <имя hpestorageconnection>kubectl get hpestorageclasses.storage.deckhouse.io <имя hpestorageclass>Проверка работоспособности модуля.
Проверить работоспособность модуля можно так