Модуль CSI vSphere (vSphere CSI Driver)
В платформе “Штурвал” модуль vSphere Container Storage Interface driver позволяет использовать облачное хранилище платформы виртуализации vSphere. Модуль является драйвером Container Storage Interface (CSI) и отвечает за выделение постоянного тома (PersistentVolume), монтирование и отключение тома от виртуальной машины.
Установка чарта в кластер
Чтобы установить модуль в созданном кластере, в графическом интерфейсе:
- перейдите в кластер;
- боковом меню откройте раздел Сервисы и репозитории;
- перейдите на страницу Доступные чарты;
- на вкладке “shturval” найдите чарт
shturval-capvs-csi
и нажмите “Установить”.
Выберите необходимую версию чарта. После выбора версии чарта в правой части экрана отобразятся доступные “Параметры конфигурации для сервиса” (values). В блоке “Спецификация сервиса” необходимо указать в качестве customvalues:
- глобальные параметры (
global
); - параметры доступа к vCenter-серверу (
vcenter
); - конфигурацию используемого StorageClass для PersistentVolume (
storageclass
).
Пример customvalues
global:
config:
global:
insecure-flag: true
cluster-id: <ваше значение параметра>
storageclass:
expansion: true
datastoreurl: <ваше значение параметра>
vcenter:
<ваше значение vCenter>:
server: <ваше значение параметра>
user: <ваше значение параметра>
password: <ваше значение параметра>
datacenters:
- <ваше значение параметра>
Параметр | Описание | Тип данных | Пример |
---|---|---|---|
global.insecure-flag |
Включение проверки безопасности. Если vCenter использует самоподписной сертификат значение должно быть true | boolean | true |
global.cluster-id |
Уникальное имя кластера | string | shturval-cluster |
storageclass.expansion |
Определяет возможность динамического расширения PersistentVolumeClaim (PVC) | boolean | true |
storageclass.datastoreurl |
URL хранилища данных (datastore) vSphere. В платформе виртуализации vSphere вы можете найти URL в разделе Summary хранилища данных (datastore) | string | ds:///vmfs/volumes/5f9ae8c0-e4bedd20-8f0c-0894ef5d8f68/ |
vcenter.<ваше значение vCenter> |
Имя vCenter | string | 10.11.12.13 |
vcenter.server |
IP-адрес или URL vCenter | string | 10.11.12.13 |
vcenter.user |
Имя пользователя для подключения к vCenter. Должно быть указано с доменом | string | shturval@domen.local |
vcenter.password |
Пароль пользователя для подключения к vCenter | string | K8s_admin |
vcenter.datacenters |
Список центров обработки данных (datacenters) | array | /DC03 |
Завершите установку чарта, сохранив настройку.
По завершении установки в кластер будет добавлен StorageClass с именем vsphere-csi. Чтобы в дальнейшем выделять PersistentVolumes в vsphere-csi, необходимо изменить настройки StorageClass, используемого по умолчанию.
Для этого в графическом интерфейсе:
- перейдите на страницу StorageClasses раздела Хранилище;
- откройте StorageClass с именем local-path и перейдите на вкладку Лейблы и аннотации;
- удалите аннотацию
storageclass.kubernetes.io/is-default-class:true
и сохраните изменения.
Теперь для новых PersistentVolumeClaim (PVC) будет выделен PersistentVolume, принадлежащий vsphere-csi.
Учетная запись vCenter
В случае, если учетная запись доступа к vCenter-серверу изменилась, а в клиентском кластере установлен Vsphere Container Storage Interface driver, необходимо скорректировать настройки модуля:
- перейдите в кластер, в боковом меню откройте раздел Сервисы и репозитории;
- перейдите на страницу Установленные сервисы;
- на вкладке “shturval” найдите Vsphere Container Storage Interface driver и перейдите к управлению;
- в блоке Спецификация сервиса измените значения в параметрах
user
иpassword
на валидные данные учетной записи.
Пример customvalues
global:
config:
vcenter:
user: <ваше значение параметра>
password: <ваше значение параметра>
Параметр | Описание | Тип данных | Пример |
---|---|---|---|
vcenter.user |
Имя пользователя для подключения к vCenter. Должно быть указано с доменом | string | shturval@domen.local |
vcenter.password |
Пароль пользователя для подключения к vCenter | string | K8s_admin |
- сохраните внесенные изменения.
Использование vSphereCSI в кластере с провайдером Shturval v2
Обратите внимание! Использование vSphere CSI в кластере с провайдером Shturval v2 возможно только с использованием хостов, развернутых на платформе виртуализации vSphere.
Если вы устанавливаете Vsphere Container Storage Interface driver при создании кластера с провайдером Shturval V2, то на каждом хосте перед необходимо выполнить настройки. - для кластера управления перед началом инсталляции;
- для клиентского кластера - перед добавлением хостов в провайдер.
Включите параметр disk.EnableUUID, используя клиент vSphere.
- В клиенте vSphere нажмите на VM, выберите пункт “Edit Settings”.
- Перейдите на вкладку “VM Options” и разверните меню “Advanced”.
- Нажмите “Edit Configuration” рядом с пунктом “Configuration Parameters”.
- Настройте параметр disk.EnableUUID.
- Если параметр существует, убедитесь, что его значение установлено в значение “True”. Если параметра нет, добавьте его и установите значение “True”.
Параметр disk.EnableUUID
Name Value
disk.EnableUUID True
Обновите версию аппаратного обеспечения VM до версии 15 или выше.
- В клиенте vSphere перейдите к VM.
- Выберите “Actions” > “Compatibility” > “Upgrade VM Compatibility”.
- Нажмите “Yes”, чтобы подтвердить обновление.
- Выберите совместимость и нажмите “OK”.
Добавьте VMware Paravirtual SCSI storage controller в VM.
- В клиенте vSphere нажмите на VM и выберите пункт “Edit Settings”.
- На вкладке “Virtual Hardware” нажмите “Add New Device”.
- Выберите “SCSI Controller” из выпадающего меню.
- Разверните “New SCSI controller” и в меню “Change Type” выберите “VMware Paravirtual”.
- Нажмите “OK”.
Troubleshooting
Если вы развернули кластер с провайдером shturvalv2 на хостах платформы виртуализации vSphere и хотите добавить vSphere CSI в работающий кластер необходимо:
- Отредактировать ВМ нод кластера, выполнить настройки:
Включите параметр disk.EnableUUID, используя клиент vSphere.
- В клиенте vSphere нажмите на VM, выберите пункт “Edit Settings”.
- Перейдите на вкладку “VM Options” и разверните меню “Advanced”.
- Нажмите “Edit Configuration” рядом с пунктом “Configuration Parameters”.
- Настройте параметр disk.EnableUUID.
- Если параметр существует, убедитесь, что его значение установлено в значение “True”. Если параметра нет, добавьте его и установите значение “True”.
Параметр disk.EnableUUID
Name Value
disk.EnableUUID True
Обновите версию аппаратного обеспечения VM до версии 15 или выше.
- В клиенте vSphere перейдите к VM.
- Выберите “Actions” > “Compatibility” > “Upgrade VM Compatibility”.
- Нажмите “Yes”, чтобы подтвердить обновление.
- Выберите совместимость и нажмите “OK”.
Добавьте VMware Paravirtual SCSI storage controller в VM.
- В клиенте vSphere нажмите на VM и выберите пункт “Edit Settings”.
- На вкладке “Virtual Hardware” нажмите “Add New Device”.
- Выберите “SCSI Controller” из выпадающего меню.
- Разверните “New SCSI controller” и в меню “Change Type” выберите “VMware Paravirtual”.
- Нажмите “OK”.
Последовательно выполнить:
-
Drain узла, и перезагрузку отредактированной ВМ.
-
После загрузки узла выполнить uncordon, дождаться, когда нагрузка вернется на узел, перейти к drain следующего узла.
Выполнить на всех требуемых узлах.
-
Если ранее был установленный vSphere CSI - удалите.
-
Установите новый vSphere CSI в неймспейс shturval-capvs-csi.
-
В customvalues добавьте конфиг, заполнив своими данными.
Пример customvalues
global:
config:
global:
insecure-flag: true
cluster-id: <ваше значение параметра>
storageclass:
expansion: true
datastoreurl: <ваше значение параметра>
vcenter:
<ваше значение vCenter>:
server: <ваше значение параметра>
user: <ваше значение параметра>
password: <ваше значение параметра>
datacenters:
- <ваше значение параметра>
Параметр | Описание | Тип данных | Пример |
---|---|---|---|
global.insecure-flag |
Включение проверки безопасности. Если vCenter использует самоподписной сертификат значение должно быть true | boolean | true |
global.cluster-id |
Уникальное имя кластера | string | shturval-cluster |
storageclass.expansion |
Определяет возможность динамического расширения PersistentVolumeClaim (PVC) | boolean | true |
storageclass.datastoreurl |
URL хранилища данных (datastore) vSphere. В платформе виртуализации vSphere вы можете найти URL в разделе Summary хранилища данных (datastore) | string | ds:///vmfs/volumes/5f9ae8c0-e4bedd20-8f0c-0894ef5d8f68/ |
vcenter.<ваше значение vCenter> |
Имя vCenter | string | 10.11.12.13 |
vcenter.server |
IP-адрес или URL vCenter | string | 10.11.12.13 |
vcenter.user |
Имя пользователя для подключения к vCenter. Должно быть указано с доменом | string | shturval@domen.local |
vcenter.password |
Пароль пользователя для подключения к vCenter | string | K8s_admin |
vcenter.datacenters |
Список центров обработки данных (datacenters) | array | /DC03 |
Storage class создастся автоматически как default
. Снимите флаг default
с одного из StorageClass (local path или vSphere).