Cloudbase-init
Общие сведения
Cloudbase-init - утилита для настройки виртуальной машины под управлением ОС Windows.
Используется для установки ключей, сертификатов, записи файлов или настройки пользователей, параметров безопасности и т.д.
Внимание
Утилита используется только для ВМ с ОС Windows.
Перечень поддерживаемых ОС представлен на официальном сайте производителя.
Дополнительная информация
Допускается использование как готовых образов, так и подготовить образы самостоятельно, например, по документации.
Рекомендуется использовать источник NoCloud.
Пример использования в SpaceVM
Для использования cloudbase-init необходимо:
-
На ВМ под управлением ОС семейства Windows установить утилиту cloudbase-init.
-
Убедиться в успешной установке.
-
Перейти к конфигурации файла
cloudbase-init.conf
и добавить строки:metadata_services=cloudbaseinit.metadata.services.nocloudservice.NoCloudConfigDriveService plugins=cloudbaseinit.plugins.common.userdata.UserDataPlugin
-
Найти параметры, отвечающие за поиск источника конфигурационного диска, и привести к виду:
config_drive_raw_hhd=false config_drive_cdrom=true config_drive_vfat=false
Настройка может отличаться в зависимости от версии утилиты.
-
Сохранить файл
cloudbase-init.conf
. -
Перейти к конфигурационному файлу
cloudbase-init-unattend.conf
и добавить строки:metadata_services=cloudbaseinit.metadata.services.nocloudservice.NoCloudConfigDriveService plugins=cloudbaseinit.plugins.common.userdata.UserDataPlugin
-
Найти параметры, отвечающие за поиск источника конфигурационного диска, и привести к виду:
config_drive_raw_hhd=false config_drive_cdrom=true config_drive_vfat=false
Настройка может отличаться в зависимости от версии утилиты.
-
Сохранить файл
cloudbase-init-unattend.conf
. -
Открыть командную строку от имени администратора и выполнить:
sysprep /oobe /generalize /shutdown
-
Перейти к управлению ВМ и перевести ее в режим шаблона. Для этого необходимо перейти в раздел ВМ/Шаблон и нажать В режим шаблона.
-
Создать конфигурационный диск. Подробная информация доступна на сайте NoCloud configuration drive.
-
Создать новую папку и два файла в ней:
meta-data
иuser-data
. -
Сконфигурировать файлы согласно документации производителя.
-
Выполнить команду для создания ISO с названием
cidata
, например:genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
Необходимо использовать собственные названия.
-
После выполнения всех шагов будет получен ISO-образ.
-
Перейти в раздел Виртуальные машины и создать ВМ из шаблона, для этого нажать кнопку Добавить ВМ из шаблона.
-
Загрузить стандартным способом полученный ISO-образ и примонтировать к ВМ.
-
Включить питание ВМ и убедиться, что cloudbase-init готов к работе.
В процессе включения допускается несколько перезагрузок системы. Необходимо дождаться полного завершения процесса.
Демонстрация работы cloudbase-init
Внимание
Необходимо конфигурировать файлы согласно инструкции производителя. Описанные ниже шаги являются примером.
В файл user-data
добавить строки:
#cloud-config
set_hostname: cloudbase
users:
-
name: test
gecos: 'test user'
write_files:
content: 'test text'
path: C:\test.txt
Пример файла user-data
использует YAML структуру и имеет 4 основных раздела:
-
#cloud-config
- все файлыuser-data
должны начинаться с этой строки. -
set_hostname
- имя хоста, которое будет присвоено. -
users
- данные пользователя, который будет создан. -
write_files
- блок для создания тестового файла.
В результате конфигурации user-data
было получено: