Перейти к содержанию

Cloudbase-init

Общие сведения

Cloudbase-init - утилита для настройки виртуальной машины под управлением ОС Windows.

Используется для установки ключей, сертификатов, записи файлов или настройки пользователей, параметров безопасности и т.д.

Внимание

Утилита используется только для ВМ с ОС Windows.

Перечень поддерживаемых ОС представлен на официальном сайте производителя.


Дополнительная информация

Допускается использование как готовых образов, так и подготовить образы самостоятельно, например, по документации.

Рекомендуется использовать источник NoCloud.


Пример использования в SpaceVM

Для использования cloudbase-init необходимо:

  1. На ВМ под управлением ОС семейства Windows установить утилиту cloudbase-init.

  2. Убедиться в успешной установке.

  3. Перейти к конфигурации файла cloudbase-init.conf и добавить строки:

    metadata_services=cloudbaseinit.metadata.services.nocloudservice.NoCloudConfigDriveService
    plugins=cloudbaseinit.plugins.common.userdata.UserDataPlugin
    
  4. Найти параметры, отвечающие за поиск источника конфигурационного диска, и привести к виду:

    config_drive_raw_hhd=false
    config_drive_cdrom=true
    config_drive_vfat=false
    

    Настройка может отличаться в зависимости от версии утилиты.

  5. Сохранить файл cloudbase-init.conf.

  6. Перейти к конфигурационному файлу cloudbase-init-unattend.conf и добавить строки:

    metadata_services=cloudbaseinit.metadata.services.nocloudservice.NoCloudConfigDriveService
    plugins=cloudbaseinit.plugins.common.userdata.UserDataPlugin
    
  7. Найти параметры, отвечающие за поиск источника конфигурационного диска, и привести к виду:

    config_drive_raw_hhd=false
    config_drive_cdrom=true
    config_drive_vfat=false
    

    Настройка может отличаться в зависимости от версии утилиты.

  8. Сохранить файл cloudbase-init-unattend.conf.

  9. Открыть командную строку от имени администратора и выполнить:

    sysprep /oobe /generalize /shutdown
    
  10. Перейти к управлению ВМ и перевести ее в режим шаблона. Для этого необходимо перейти в раздел ВМ/Шаблон и нажать В режим шаблона.

  11. Создать конфигурационный диск. Подробная информация доступна на сайте NoCloud configuration drive.

  12. Создать новую папку и два файла в ней: meta-data и user-data.

  13. Сконфигурировать файлы согласно документации производителя.

  14. Выполнить команду для создания ISO с названием cidata, например:

    genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
    

    Необходимо использовать собственные названия.

  15. После выполнения всех шагов будет получен ISO-образ.

  16. Перейти в раздел Виртуальные машины и создать ВМ из шаблона, для этого нажать кнопку Добавить ВМ из шаблона.

  17. Загрузить стандартным способом полученный ISO-образ и примонтировать к ВМ.

  18. Включить питание ВМ и убедиться, что 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 было получено:

img

img

img