Модуль csi-netapp предназначен для управления томами c использованием систем хранения данных NetApp. Он позволяет создавать StorageClass в Kubernetes с помощью ресурса NetappStorageClass.
Подробнее с описанием модуля можно ознакомиться в разделе документации модуля.
Архитектура модуля
Для упрощения схемы приняты следующие допущения:
- На схеме показано, что контейнеры разных подов взаимодействуют друг с другом напрямую. Фактически они взаимодействуют через соответствующие сервисы Kubernetes (внутренние балансировщики). Названия сервисов не указываются, если они очевидны из контекста. В остальных случаях название сервиса указано над стрелкой.
- Поды могут быть запущены в нескольких репликах, однако на схеме все поды изображены в одной реплике.
Архитектура модуля csi-netapp на уровне 2 модели C4 и его взаимодействия с другими компонентами Deckhouse Kubernetes Platform (DKP) изображены на следующей диаграмме:

Компоненты модуля
Модуль состоит из следующих компонентов:
-
Controller — контроллер, обслуживающий следующие кастомные ресурсы:
- NetappStorageConnection — параметры подключения к СХД NetApp;
- NetappStorageClass — определяет конфигурацию для создания Kubernetes StorageClass, который использует provisioner
csi.trident.netapp.io.
Также controller синхронизирует лейбл
storage.deckhouse.io/csi-netapp-nodeдля узлов кластера в соответствии со значением селектора узловspec.settings.nodeSelectorкастомного ресурса ModuleConfig.Состоит из одного основного контейнера controller.
-
CSI-драйвер (netapp) — реализация CSI-драйвера, использующего provisioner
csi.trident.netapp.io. С типовой архитектурой CSI-драйвера, используемого в DKP, можно ознакомиться в описании архитектуры CSI-драйвера.
Взаимодействия модуля
Модуль взаимодействует со следующими компонентами:
-
Kube-apiserver:
- мониторинг ресурсов PersistentVolume, PersistentVolumeClaim, VolumeAttachment и StorageClass;
- работа с кастомными ресурсами TridentBackendConfig, NetappStorageConnection и NetappStorageClass;
- создание ресурса VolumeSnapshotClass, Secret и StorageClass.
-
СХД NetApp — создание, удаление и управление томами, а также подключение и отключение томов от узлов.