Модуль предоставляет 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>

Проверка работоспособности модуля.

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