Пользовательские образы — это предварительно подготовленные образы дисков, которые пользователи могут самостоятельно загружать на платформу Cloud.ru Evolution. В такие образы можно заранее интегрировать индивидуальные настройки, нужную операционную систему, набор необходимых приложений, библиотек и инструментов. Это позволяет ускорить процесс развертывания новых виртуальных машин, настроенных под конкретные задачи и требования проекта.
Для создания пользовательского образа необходимо подготовить файл в формате RAW. Также образ можно создать из загрузочного диска виртуальной машины.
Cloud-init — это инструмент, который позволяет автоматизировать начальную настройку виртуальной машины при первом запуске.
Шаблон конфигурации для cloud-init (user_data_template) определяет структуру начальной конфигурации ВМ. В шаблоне передаются пользовательские параметры, которые применяются при развертывании виртуальной машины из образа. Например, можно передать команды для установки пакетов, логин и пароль пользователя, SSH-ключи, IP-адрес, имя хоста и другие параметры.
На основе шаблона генерируется финальная конфигурация для cloud-init — user_data. В нее подставляется содержимое шаблона конфигурации с учетом значений полей метаданных, которые ввел пользователь. Конфигурация user_data передается в создаваемую виртуальную машину и обрабатывается агентом cloud-init при первом запуске.
Шаблон можно добавить при создании пользовательского образа. Для формирования шаблона используется синтаксис Jinja.
Метаданные — это набор атрибутов вида «ключ-значение», которые связаны с конкретным образом. Они используются для автоматического заполнения шаблона конфигурации cloud-init.
Поля метаданных создаются на основе переменных, которые указаны в шаблоне конфигурации cloud-init для образа. При создании виртуальной машины из образа эти поля отображаются на форме создания ВМ. Введенные пользователем значения полей подставляются в шаблон вместо соответствующих переменных.
Для создания некоторых полей метаданных зарезервированы отдельные переменные. Если использовать их в шаблоне, будут созданы поля метаданных, указанные в таблице.
Переменная | Отображаемое имя | Группа полей | Тип поля | Значение по умолчанию | Приватное поле |
|---|---|---|---|---|---|
hostname | Имя хоста | Дополнительные параметры системы | Имя хоста виртуальной машины | Нет | |
linux_login | Имя пользователя | Авторизация пользователя | Логин для Linux | user1 | Нет |
linux_password | Пароль | Авторизация пользователя | Пароль для Linux | Да | |
public_key | Публичный ключ | Авторизация пользователя | Публичный ключ | Нет |