Модуль CSI Openstack (CSI Cinder)

В платформе “Штурвал” Модуль CSI Openstack позволяет использовать облачное хранилище платформы виртуализации Openstack. Модуль является драйвером Cinder CSI и отвечает за выделение постоянного тома (PersistentVolume), монтирование и отключение тома от виртуальной машины.

Установка в кластер

Модуль CSI Openstack не является критически важным сервисов для работы платформы “Штурвал”. Если при создании кластера с провайдером Openstack была включена интеграция CSI, то Модуль CSI Openstack будет установлен автоматически и ручной настройки не потребуется.

Чтобы включить модуль в созданном кластере, в провайдере Openstack/VK Cloud/Selectel должна быть разрешена установка CSI. Для установки модуля в графическом интерфейсе платформы перейдите в раздел Сервисы и репозитории на страницу Доступные чарты. На вкладке shturval найдите модуль CSI Openstack (shturval-capos-csi) и перейдите к установке.

Выберите версию чарта и неймспейс shturval-capos-csi. Если неймспейс с таким именем отсутствует, создайте его, нажав в выдающем списке поля Неймспейс на “+ Создать неймспейс”.

При установке модуля в кластер будут добавлены StorageClasses с именами csi-cinder-sc-delete и csi-cinder-sc-retain. В блоке Спецификация сервиса укажите дефолтный StorageClass, как приведено в примере далее.

Пример customvalues
storageClass:
  delete:
      isDefault: true 
Параметр Описание Тип данных Пример
storageClass.delete.isDefault Устанавливает использование по умолчанию StorageClass с политикой очистки delete (автоматическое удаление PV) boolean true

Завершите установку модуля, нажав Сохранить.

Когда модуль установлен, для корректной работы csi потребуется создать Secret в неймспейсе shturval-capos-csi с данными конфигурации подключения провайдера, как в экземпляре провайдера, с которым создан кластер. Для этого:

  1. Сформируйте конфигурацию подключения провайдера.
Пример конфигурации подключения провайдера
[Global]
auth-url=<ваше значение параметра>
username=<ваше значение параметра>
password=<ваше значение параметра>
region=<ваше значение параметра>
tenant-id=<ваше значение параметра>
domain-name=<ваше значение параметра>
[BlockStorage]
ignore-volume-microversion=true
Параметр Описание Пример
auth-url URL-адрес сервера аутентификации https://example.ru:35357/v3/
username Имя пользователя для подключения username
password Пароль пользователя для подключения my-password
region Имя региона RegionOne
tenant-id Идентификатор проекта (project_id) projectid
domain-name Имя домена пользователя users
  1. В графическом интерфейсе кластера перейдите в неймспейс shturval-capos-csi, далее в раздел Хранилище на страницу Secrets и создайте секрет:
    • задайте имя cloud-config;
    • выберите тип Opaque;
    • добавьте ключ с именем cloud.conf, в значении которого укажите подготовленную конфигурацию.
Пример созданного cloud-config

apiVersion: v1
kind: Secret
type: Opaque
data:
  cloud.conf: W0dsb2JhbF0KYXV0aC11cmw9PNCy0LDRiNC1INC30L3QsNGH0LXQvdC40LUg0L/QsNGA0LDQvNC10YLRgNCwPgp1c2VybmFtZT080LLQsNGI0LUg0LfQvdCw0YfQtdC90LjQtSDQv9Cw0YDQsNC80LXRgtGA0LA+CnBhc3N3b3JkPTzQstCw0YjQtSDQt9C90LDRh9C10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsD4KcmVnaW9uPTzQstCw0YjQtSDQt9C90LDRh9C10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsD4KdGVuYW50LWlkPTzQstCw0YjQtSDQt9C90LDRh9C10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsD4KZG9tYWluLW5hbWU9PNCy0LDRiNC1INC30L3QsNGH0LXQvdC40LUg0L/QsNGA0LDQvNC10YLRgNCwPgpbQmxvY2tTdG9yYWdlXQppZ25vcmUtdm9sdW1lLW1pY3JvdmVyc2lvbj10cnVl
metadata:
  name: cloud-config
  namespace: shturval-capos-csi

Чтобы в дальнейшем выделять PersistentVolumes в StorageClass csi-cinder-sc-delete, csi-cinder-sc-retain по умолчанию, необходимо изменить настройки StorageClass local-path. Для этого в графическом интерфейсе:

  • перейдите на страницу StorageClasses раздела Хранилище;
  • откройте StorageClass с именем local-path и перейдите на вкладку Лейблы и аннотации;
  • удалите аннотацию storageclass.kubernetes.io/is-default-class:true и сохраните изменения.

Обратите внимание!

  1. Для работы Модуля CSI Openstack в кластере должен работать Модуль управления сетями кластера (shturval-networking).
  2. При использовании облачного хранилища платформы виртуализации Openstack, в случае удаления кластера с провайдером OpenStack потребуется удалить вручную PVC в платформе виртуализации.
  3. Только для новых PersistentVolumeClaim (PVC) будет выделен PersistentVolume, принадлежащий StorageClass по умолчанию (csi-cinder-sc-delete, csi-cinder-sc-retain).
×