Модуль предоставляет CSI для управления томами c использованием СХД Netapp. Модуль позволяет создавать StorageClass
в Kubernetes
через создание пользовательских ресурсов Kubernetes NetappStorageClass
.
Внимание! Создание
StorageClass
для CSI-драйвераcsi.Netapp.com
пользователем запрещено. Внимание! На данный момент модулем поддерживаются СХД Netapp 3par. Для поддержки других СХД Netapp, пожалуйста, свяжитесь с техподдержкой.
Системные требования и рекомендации
Требования
- Наличие развернутой и настроенной СХД Netapp.
- Уникальные iqn в /etc/iscsi/initiatorname.iscsi на каждой из Kubernetes Nodes
Быстрый старт
Все команды следует выполнять на машине, имеющей доступ к API Kubernetes с правами администратора.
Включение модуля
- Включить модуль
csi-netapp
. Это приведет к тому, что на всех узлах кластера будет:- зарегистрирован CSI драйвер;
- запущены служебные поды компонентов
csi-netapp
.
kubectl apply -f - <<EOF
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: csi-netapp
spec:
enabled: true
version: 1
EOF
- Дождаться, когда модуль перейдет в состояние
Ready
.
kubectl get module csi-netapp -w
Создание StorageClass
Для создания StorageClass необходимо использовать ресурсы NetappStorageClass и NetappStorageConnection. Пример команд для создания таких ресурсов:
kubectl apply -f -<<EOF
apiVersion: storage.deckhouse.io/v1alpha1
kind: NetappStorageConnection
metadata:
name: Netapp
spec:
controlPlane:
backendAddress: "172.17.1.55" # mutable, адрес СХД
username: "3paradm" # mutable, API username
password: "3pardata" # mutable, API password
serviceName: "primera3par-csp-svc"
servicePort: "8080"
EOF
kubectl apply -f -<<EOF
apiVersion: storage.deckhouse.io/v1alpha1
kind: NetappStorageClass
metadata:
name: Netapp
spec:
pool: "test-cpg"
accessProtocol: "fc" # fc или iscsi (default iscsi), immutable
fsType: "xfs" # xfs, ext3, ext4 (default ext4), mutable
storageConnectionName: "3par" # immutable
reclaimPolicy: Delete # Delete of Retain
cpg: "test-cpg"
EOF
- Проверить создание объекта можно командой (Phase должен быть
Created
):
kubectl get Netappstorageconnections.storage.deckhouse.io <имя Netappstorageconnection>
kubectl get Netappstorageclasses.storage.deckhouse.io <имя Netappstorageclass>
Проверка работоспособности модуля.
Проверить работоспособность модуля можно так