Настройка Cloud-Init для различных гостевых ОС
Cloud-Init — инструмент, включающий набор сервисов для автоматизации начальной настройки ВМ. Например, настройки доменного имени, сетевых интерфейсов и ключей авторизации. Подробнее о Cloud-Init можно прочесть на официальном сайте.
1. Особенности и ограничения
Перед настройкой сервиса Cloud-Init в конкретных ОС ознакомьтесь с особенностями и ограничениями.
- Astra Linux 1.7
-
-
Сервис Cloud-Init не установлен по умолчанию. Установите официальную поддерживаемую версию.
-
Сервис resolvconf не установлен по умолчанию. Для корректного назначения DNS установите его.
-
- RedOS 7.3
-
Представленная в репозитории ОС версия Cloud-Init не сохраняет настройки сети после перезагрузки. При необходимости работы с Cloud-Init отключите сервис Cloud-Init сразу после переключения ВМ в ОЦОД.
- CentOS8, Rhel8
-
Сервис Cloud-Init не установлен по умолчанию. Установите официальную поддерживаемую версию.
- Windows
-
Управление через Cloud-Init (Cloudbase-Init) не поддерживается. Автоматическое назначение статического адреса при миграции не поддерживается для ОС семейства Windows.
2. Настройка Cloud-Init
-
Установите и настройте Cloud-Init внутри гостевой ОС. В качестве источника данных для настройки на компонентам монтируется виртуальный CD с настройками сети (
configDriveв качестве источника данных). -
Чтобы указать, какие подсистемы будут задействованы при активации Cloud-Init:
-
в файле
/etc/cloud/cloud.cfgзакомментируйте строки для модулей:cloud_init_modules,cloud_config_modulesиcloud_final_modules. Каждый модуль отвечает за определенную стадию настройки ОС; -
проверьте, что в каталоге
/etc/cloud/cloud.cfg.dфайлы с расширением.cfgне перезаписывают необходимых параметров.
-
-
(Рекомендуется) Отключите остальные источники данных для ускорения загрузки ОС и исключения ошибок, которые могут возникнуть при наличии других источников данных. В файле
/etc/cloud/cloud.cfgукажите параметры:datasource_list: [ConfigDrive]. Проверьте, что отсутствует параметрdatasource_listв остальных файлах в каталоге/etc/cloud/cloud.cfg.d/. -
Проверьте, что отсутствует файл
/etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg, который ограничивает настройки сети с помощью Cloud-Init.
Устройство с конфигурацией подключается к ВМ только при первом запуске на целевой площадке. При следующих запусках устройство не подключается. Чтобы Cloud-Init не перезаписывал сетевые настройки на DHCP (поведение по умолчанию), его повторный запуск можно отключить одним из следующих способов:
-
В политиках работы Cloud-Init с источниками данных (файл
/etc/cloud/ds-identity.cfg) укажите следующие значения:policy: search,found=all,maybe=none,notfound=disabled. -
Удалите файл
/etc/cloud/ds-identity.cfgпри его наличии. При отсутствии файла используются политики запуска сервиса по умолчанию.