Container Storage Interface для S3 (далее CSI) позволяет динамически резервировать бакеты S3-совместимых хранилищ и монтировать их к подам кластера в виде постоянных томов Kubernetes (PersistentVolume). Подключение выполняется при помощи FUSE-реализации файловой системы GeeseFS.
CSI можно использовать для работы с Yandex Object Storage и другими провайдерами объектных хранилищ S3.
-
Создайте сервисный аккаунт с ролью
storage.editor
. -
Создайте статический ключ доступа для сервисного аккаунта. Сохраните идентификатор ключа и секретный ключ — они понадобятся далее.
-
(Опционально) Чтобы новые тома помещались в один бакет с разными префиксами, создайте бакет Object Storage. Сохраните имя бакета — оно понадобится на следующем шаге. Пропустите этот шаг, если для каждого тома требуется создавать отдельный бакет.
-
Задайте настройки приложения CSI:
- Пространство имен — выберите пространство имен
kube-system
. - Название приложения — укажите название приложения, например
csi-s3
. - Создать класс хранения — выберите эту опцию, чтобы создать новый класс хранилища при развертывании приложения.
- Создать секрет — выберите эту опцию, чтобы создать новый секрет при установке приложения.
- Идентификатор ключа S3 — скопируйте в это поле идентификатор ключа сервисного аккаунта.
- Секретный ключ S3 — скопируйте в это поле секретный ключ сервисного аккаунта.
- Общий бакет S3 для томов — укажите имя общего бакета, в котором будут создаваться динамически распределяемые тома. Чтобы CSI создавал новый бакет для каждого тома, оставьте это поле пустым.
- Адрес S3-сервиса — адрес S3-сервиса, который будет использовать приложение. По умолчанию
https://storage.yandexcloud.net
. - Опции монтирования GeeseFS — опции монтирования для программы GeeseFS. Полный список опций см. в документации GeeseFS.
- Политика очистки томов — выберите политику очистки томов PersistentVolume при удалении PersistentVolumeClaim:
- Retain — сохранять том.
- Delete — удалять том.
- Название класса хранения — если вы ранее выбрали опцию Создать класс хранения, укажите имя нового класса хранилища.
- Название секрета — если вы ранее выбрали опцию Создать секрет, укажите имя нового секрета, который будет создан для класса хранилища. В ином случае укажите имя существующего секрета, который будет использован для класса хранилища.
- Игнорировать все политики taint — выберите эту опцию, чтобы драйвер CSI, который монтирует файловую систему на узлах, игнорировал все политики taint для узлов кластера.
- Пространство имен — выберите пространство имен
-
Нажмите кнопку Установить.
-
Дождитесь перехода приложения в статус
Deployed
.
- Монтирование бакетов объектного хранилища как постоянных томов Kubernetes.
- Автоматическое создание бакетов для подключения в виде постоянных томов.
Служба технической поддержки Yandex Cloud отвечает на запросы 24 часа в сутки, 7 дней в неделю. Доступные виды запросов и срок их обработки зависят от тарифного плана. Подключить платную поддержку можно в консоли управления. Подробнее о порядке оказания технической поддержки.
Helm-чарт | Версия | Pull-команда | Документация |
---|---|---|---|
yandex-cloud/csi-s3/csi-s3 | 0.42.1 | Открыть |
Docker-образ | Версия | Pull-команда |
---|---|---|
yandex-cloud/csi-s3/csi-node-driver-registrar1731688358770397682609004996982070545465802304702 | v1.2.0 | |
yandex-cloud/csi-s3/csi-provisioner1731688358770397682609004996982070545465802304702 | v2.1.0 | |
yandex-cloud/csi-s3/csi-s3-driver1731688358770397682609004996982070545465802304702 | 0.42.1 |