Модуль CSI Yandex Cloud (shturval-capy-csi)
О сервисе
| Параметр | Значение |
|---|---|
| Название в интерфейсе | Модуль CSI Yandex Cloud |
| Системное название (идентификатор) | shturval-capy-csi |
| Назначение в кластере | Динамический провижининг дисков Yandex Cloud; подключение дисков Compute Cloud как PersistentVolume по запросу. |
| Критический | Нет |
| Публичный репозиторий | Yandex Cloud CSI driver |
| Зависимости | shturval-networking |
| Неймспейс | shturval-capy-csi |
Назначение
shturval-capy-csi — модуль CSI для кластеров с провайдером Yandex Cloud. Драйвер disk-csi-driver.mks.ycloud.io создаёт диски в каталоге облака и подключает их к подам как PersistentVolume.
У сервисного аккаунта должна быть роль k8s.clusters.agent. Роли compute.editor и alb.editor нужны для узлов и балансировщика, их для CSI недостаточно.
Где настраивать
Сервисы и репозитории → Установленные сервисы → shturval-capy-csi → Управлять.
Настройка классов хранилища: StorageClasses (классы хранилища).
Автоматическая установка при создании кластера
Модуль устанавливается в кластере, если в экземпляре провайдера разрешена установка CSI и при создании клиентского кластера включена интеграция CSI.
При установке в кластер добавляются два StorageClass:
| Имя | Диск | Файловая система | Привязка тома | Возврат | По умолчанию |
|---|---|---|---|---|---|
yc-network-hdd | network-hdd | ext4 | WaitForFirstConsumer | Delete | Да, если этот CSI выбран провиженером по умолчанию |
yc-network-ssd | network-ssd | ext4 | WaitForFirstConsumer | Delete | Нет |
Расширение тома у этих классов выключено (allowVolumeExpansion: false).
customvalues по умолчанию
storageClasses:
- name: yc-network-hdd
isDefault: true
type: network-hdd
fstype: ext4
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: false
reclaimPolicy: Delete
- name: yc-network-ssd
isDefault: false
type: network-ssd
fstype: ext4
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: false
reclaimPolicy: Delete
Для работы модуля в кластере должен быть включён shturval-networking. Параметры чарта меняйте через ShturvalServicePatch (SSP).
По умолчанию при удалении кластера диски CSI в Yandex Cloud не удаляются. Чтобы удалить PV вместе с кластером, задайте это при создании кластера.
Установка вручную
Если интеграция CSI при создании кластера была выключена, перейдите в Сервисы и репозитории → Доступные чарты, найдите shturval-capy-csi в репозитории shturval, выберите режим управления Авто и версию чарта, неймспейс shturval-capy-csi и нажмите Сохранить.
Скриншот: установка чарта shturval-capy-csi

При установке в развернутом кластере содаются те же StorageClass, подключение к облаку необходимо сконфигурировать дополнительно:
В неймспейсе shturval-capy-csi создайте ConfigMap и Secrets.
- Хранилище → ConfigMaps → + Добавить ConfigMap. Имя —
yc-csi-config. Ключ —folderId, в значении — ID папки. - Хранилище → Secrets → создайте Secret. Имя —
yc-csi-sa-key, тип —Opaque. Ключ —sa-key.json, значение — JSON-ключ сервисного аккаунта с рольюk8s.clusters.agent.
Пример ConfigMap и Secret
apiVersion: v1
kind: ConfigMap
metadata:
name: yc-csi-config
namespace: shturval-capy-csi
data:
folderId: <folder-id>
---
apiVersion: v1
kind: Secret
metadata:
name: yc-csi-sa-key
namespace: shturval-capy-csi
type: Opaque
stringData:
sa-key.json: |
<содержимое JSON-ключа>
Имена объектов можно сменить через SSP: configMap.name, configMap.folderIdKey, secret.name, secret.key. Сами ID папки и ключ в customvalues не передаются.
Пример SSP
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: shturval-capy-csi-connection
spec:
shturvalServiceConfigName: shturval-capy-csi
customvalues:
configMap:
name: yc-disk-config
folderIdKey: folderId
secret:
name: yc-disk-sa-key
key: sa-key.json
| Параметр | Описание | Тип | Пример |
|---|---|---|---|
configMap.name | Имя ConfigMap в неймспейсе shturval-capy-csi | string | yc-disk-config |
configMap.folderIdKey | Ключ ConfigMap, в котором лежит ID папки | string | folderId |
secret.name | Имя Secret в неймспейсе shturval-capy-csi | string | yc-disk-sa-key |
secret.key | Ключ Secret с JSON-ключом сервисного аккаунта | string | sa-key.json |
Как развернуть сервис — Как развернуть новый сервис.