Получение образа Т1 CSI-драйвера

Т1 CSI-драйвер предназначен для подключения блочных дисков T1 Облако к подам Kubernetes, запущенным на серверах T1 Облако.

Функциональные возможности Т1 CSI-драйвера

Т1 CSI-драйвер позволяет:

  • создавать и удалять диски — динамическое управление дисками через PersistentVolumeClaim (CreateVolume/DeleteVolume);
  • подключать и отключать диски — подключение дисков к серверу с идемпотентной обработкой повторных запросов;
  • монтировать диски — через стандартный CSI-протокол в режиме VolumeMode: Filesystem. Поддерживаются файловые системы, доступные на узле. По умолчанию используется ext4, также можно использовать xfs;
  • расширять диски онлайн — при allowVolumeExpansion: true размер диска увеличивается на стороне T1 Облако и в файловой системе без пересоздания пода;
  • учитывать топологию кластера — при volumeBindingMode: WaitForFirstConsumer диск создаётся в дата-центре узла, выбранного для пода. В PersistentVolume автоматически задаётся nodeAffinity;
  • задавать тип диска и дата-центр по имени — вместо ID можно использовать параметры volumeTypeName и availabilityZoneName;
  • настраивать тип диска для отдельных дата-центров — с помощью параметров volumeTypeName.<zoneID> можно задать разные типы дисков для разных дата-центров. Подробнее см. в разделе Многозональные кластеры;
  • автоматически определять дата-центр — если дата-центр не указан в StorageClass и настройках по умолчанию, драйвер определяет его по серверу, на котором запущен controller.

Т1 CSI-драйвер не поддерживает:

  • снимки;
  • ListVolumes;
  • режим raw block;
  • ListSnapshots.

Требования для установки Т1 CSI-драйвера

Перед установкой Т1 CSI-драйвера убедитесь, что выполнены условия:

  • кластер Kubernetes развёрнут на серверах T1 Облако;
  • доступ к API T1 Облако, понадобятся следующие параметры:
    • project-name — имя проекта в T1 Облако, к ресурсам которого драйверу нужен доступ;
    • client-id — идентификатор сервисного аккаунта в T1 Облако;
    • client-secret — секретный ключ сервисного аккаунта, аналог пароля для автоматизированного доступа. Используется вместе с client-id для получения временного токена доступа к API;
  • связь с API-сервисом — control‑plane и все рабочие узлы кластера Kubernetes должны иметь доступ к адресу api.t1.cloud или к альтернативному хосту API (если используется закрытый контур).

Получение образа Т1 CSI-драйвера

Чтобы получить образ Т1 CSI-драйвера:

  1. Скачайте образ нужной версии CSI-драйвера из Объектного хранилища S3:
    где X.Y.Z — версия CSI-драйвера.

    Чтобы скачать образ драйвера для версии 0.0.29, используйте команду:

  2. Загрузите скачанный образ в Docker или containerd и отправьте в ваш registry.
  3. Присвойте образу имя:
  4. Укажите <registry>/csi-driver:v0.0.29 в качестве образа:
    • для обычных манифестов — поле image: контейнера t1-csi-driver в файлах controller.yaml и node-daemonset.yaml;
    • для Helm — значения image.repository и image.tag в файле values.yaml (или --set image.repository=... --set image.tag=...).
  5. Если ваш registry требует авторизации, создайте imagePullSecret и укажите его в манифестах.
    imagePullSecrets уже присутствует в шаблонах, замените dockerhub-secret на свой секрет с доступом к вашему registry.

Дальнейшие шаги