Для выполнения приведенных ниже команд необходима установленная утилита d8 (Deckhouse CLI) и настроенный контекст kubectl для доступа к кластеру. Также, можно подключиться к master-узлу по SSH и выполнить команду от пользователя root
с помощью sudo -i
.
После настройки хранилища необходимо включить модуль virtualization
. Включение и настройка модуля производятся с помощью веб-интерфейса администратора или с помощью следующей команды:
d8 s module enable virtualization
Отредактируйте конфигурацию модуля одним из способов.
В конфигурации модуля укажите:
- settings.virtualMachineCIDRs — подсети, IP-адреса из которых будут назначаться виртуальным машинам;
- settings.dvcr.storage.persistentVolumeClaim.size — размер дискового пространства для хранения образов виртуальных машин;
- settings.dvcr.storage.persistentVolumeClaim.storageClassName — имя StorageClass, используемого для создания PersistentVolumeClaim (если не указан, то будет использоваться StorageClass используемый по умолчанию);
- settings.dvcr.storage.type — укажите
PersistentVolumeClaim
.
Пример базовой настройки модуля виртуализации:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: virtualization
spec:
enabled: true
version: 1
settings:
dvcr:
storage:
persistentVolumeClaim:
size: 50G
storageClassName: sds-replicated-thin-r1
type: PersistentVolumeClaim
virtualMachineCIDRs:
- 10.66.10.0/24
Дождитесь, пока все поды модуля не перейдут в статус Running
:
d8 k get po -n d8-virtualization
Конфигурация модуля virtualization
Изменить конфигурацию модуля virtualization
можно через веб-интерфейс администратора или через CLI.
Через веб-интерфейс администратора
- Перейдите на вкладку «Система», далее в раздел «Deckhouse» → «Модули».
- Из списка выберите модуль
virtualization
. - Во всплывающем окне выберите вкладку «Конфигурация».
- Для отображения настроек нажмите переключатель «Дополнительные настройки».
- Укажите необходимые параметры модуля.
- Для применения настроек нажмите кнопку «Сохранить».
Через CLI
d8 k edit mc virtualization
Описание параметров
Ниже представлены описания параметров модуля виртуализации.
Версия конфигурации
Параметр .spec.version
определяет версию схемы настроек. Структура параметров может меняться между версиями. Актуальные значения приведены в разделе настроек.
Параметры для настройки постоянного тома для хранения образов виртуальных машин (DVCR)
Блок .spec.settings.dvcr.storage
настраивает постоянный том для хранения образов:
.spec.settings.dvcr.storage.persistentVolumeClaim.size
— размер тома (например,50G
). Для расширения хранилища увеличьте значение параметра;.spec.settings.dvcr.storage.persistentVolumeClaim.storageClassName
— класс хранения (например,sds-replicated-thin-r1
).
Хранилище, обслуживающее класс хранения (параметр .spec.settings.dvcr.storage.persistentVolumeClaim.storageClassName
), должно быть доступно на узлах, где запускается DVCR (system-узлы, либо worker-узлы, при отсутствии system-узлов).
Сетевые настройки
В блоке .spec.settings.virtualMachineCIDRs
указываются подсети в формате CIDR (например, 10.66.10.0/24
). IP-адреса для виртуальных машин распределяются из этих - диапазонов автоматически или по запросу.
Пример:
spec:
settings:
virtualMachineCIDRs:
- 10.66.10.0/24
- 10.66.20.0/24
- 10.77.20.0/16
Первый и последний адреса подсети зарезервированы и недоступны для использования.
Подсети блока .spec.settings.virtualMachineCIDRs
не должны пересекаться с подсетями узлов кластера, подсетью сервисов или подсетью подов (podCIDR
).
Запрещено удалять подсети, если адреса из них уже выданы виртуальным машинам.
Настройки классов хранения для образов
Настройки классов хранения для образов определяются в параметре .spec.settings.virtualImages
настроек модуля.
Пример:
spec:
#...
settings:
virtualImages:
allowedStorageClassNames:
- sc-1
- sc-2
defaultStorageClassName: sc-1
Здесь:
allowedStorageClassNames
(опционально) — это список допустимых StorageClass для создания VirtualImage, которые можно явно указать в спецификации ресурса;defaultStorageClassName
(опционально) — это StorageClass, используемый по умолчанию при создании VirtualImage, если параметр.spec.persistentVolumeClaim.storageClassName
не задан.
Настройки классов хранения для дисков
Настройки классов хранения для дисков определяются в параметре .spec.settings.virtualDisks
настроек модуля.
Пример:
spec:
#...
settings:
virtualDisks:
allowedStorageClassNames:
- sc-1
- sc-2
defaultStorageClassName: sc-1
Здесь:
allowedStorageClassNames
(опционально) — это список допустимых StorageClass для создания VirtualDisk, которые можно явно указать в спецификации ресурса;defaultStorageClassName
(опционально) — это StorageClass, используемый по умолчанию при создании VirtualDisk, если параметр.spec.persistentVolumeClaim.storageClassName
не задан.
Настройка аудита событий безопасности
Недоступно в Community Edition.
Для активации аудита требуется, чтобы были включены следующие модули:
log-shipper
,runtime-audit-engine
.
Чтобы включить аудит событий безопасности, установите параметр .spec.settings.audit.enabled
настроек модуля в true
:
spec:
enabled: true
settings:
audit:
enabled: true