Облачная платформаEvolution

Пользовательские образы


Пользовательские образы — это предварительно подготовленные образы дисков, которые пользователи могут самостоятельно загружать на платформу Cloud.ru Evolution. В такие образы можно заранее интегрировать индивидуальные настройки, нужную операционную систему, набор необходимых приложений, библиотек и инструментов. Это позволяет ускорить процесс развертывания новых виртуальных машин, настроенных под конкретные задачи и требования проекта.

Для создания пользовательского образа необходимо подготовить файл в формате RAW. Также образ можно создать из загрузочного диска виртуальной машины.

Требования к образу

Загружаемые образы должны соответствовать следующим требованиям:

  • Формат файла: RAW.

    Если вы скачали файл в другом формате, конвертируйте его.

  • Установлены VirtIO-драйверы.

    Для работы дисков и сети используются драйверы virtio_scsi и virtio_net. В большинстве современных дистрибутивов Linux (Ubuntu 18.04+, CentOS 7+, Debian 9+) VirtIO-драйверы встроены в ядро и не требуют отдельной установки. В дистрибутивах Windows драйверы необходимо установить вручную перед загрузкой образа.

  • Установлен пакет cloud-init для Linux и Cloudbase-Init для Windows.

    Cloud-init используется для работы с метаданными и настройки ВМ при первом запуске.

  • Наличие загрузочного раздела.

    Загрузочный раздел — это специальная область на диске образа, содержащая все необходимое для передачи управления от BIOS или UEFI к операционной системе внутри ВМ.

    Проверить наличие раздела можно с помощью команды:

    fdisk -l <image_name>.raw | grep -E "Boot|EFI|BIOS boot"

    Пример результата:

    jammy-server-cloudimg-amd64.raw14 2048 10239 8192 4M BIOS boot
    jammy-server-cloudimg-amd64.raw15 10240 227327 217088 106M EFI System

    Образ с такой разметкой одновременно готов к загрузке и через BIOS, и через UEFI.

  • SSH-сервер запускается при старте ВМ.

    Это позволит подключаться к ВМ по SSH.

Примечание

Для Linux рекомендуется использовать образы, оптимизированные для облачных платформ. Например, Ubuntu Cloud Images, CentOS Cloud Images или Debian Cloud Images.

Такие образы уже содержат cloud-init и другие компоненты для развертывания виртуальных машин в облаке.

Статусы образа

Статус образа зависит от его загрузки в зоны доступности:

  • «Ожидает загрузки» — образ создан, но не загружен ни в одну из зон.

    Чтобы использовать образ, загрузите файл образа в сервис.

  • «Создан» — образ создан и загружен во все зоны.

    Из этого образа можно развернуть виртуальную машину в любой зоне доступности.

  • «Частично доступен» — образ создан, но загружен не во все зоны.

    Проверьте доступность образа и повторно загрузите его во все зоны.

  • «Ошибка» — образ создан, но при загрузке произошла ошибка.

    Использовать такой образ для создания виртуальной машины нельзя, рекомендуется создать его заново.

Шаблон конфигурации cloud-init

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

Публичный ключ

Авторизация пользователя

Публичный ключ

Нет