Создание образа image-based приложенияBeta
Чтобы загрузить ваше image-based приложение на Marketplace облачной платформы, сначала необходимо подготовить образ ВМ, на которой будет установлен инстанс вашего приложения, и загрузить его на платформу VK Cloud. Ниже показано, как это сделать с помощью Packer или используя возможности личного кабинета VK Cloud.
Рекомендуемый способ создания образа — с помощью Packer.
-
Установите Packer:
- Скачайте Packer с официального зеркала VK Cloud.
- Распакуйте архив и укажите путь к распакованному файлу в переменной среды
Path. - Выполните команду
packer, чтобы убедиться в успешной установке Packer.
Подробная инструкция приведена в официальной документации Packer.
-
Установите OpenStack CLI и пройдите аутентификацию в проекте.
-
Скачайте базовый образ ОС, поддерживающий работу с облачными платформами.
ОС должна удовлетворять требованиям к образу ВМ сервиса.
На официальном сайте OpenStack размещены ссылки на образы некоторых ОС, поддерживающих работу с облачными платформами.
-
Конвертируйте базовый образ в формат
RAW:-
Установите утилиту qemu-img на локальный компьютер:
Для образов на базе RHEL (CentOS, AlmaLinux, Rocky Linux)Для образов на базе Debian (Ubuntu)sudo yum install qemu-img -
Запустите конвертацию файла с помощью команды:
qemu-img convert -f qcow2 -O raw <ИМЯ_ИСХОДНОГО_ОБРАЗА> <ИМЯ_ОБРАЗА>Здесь:
<ИМЯ_ИСХОДНОГО_ОБРАЗА>— имя исходного базового образа. Например,alt-p9-cloud-x86_64.qcow2.<ИМЯ_ОБРАЗА>— имя базового образа в форматеRAW. Например,alt-p9-cloud-x86_64.raw.
-
-
Загрузите базовый образ в формате
RAWв VK Cloud:openstack image create --private --container-format bare --disk-format raw --property store=s3 --file <ПУТЬ> <ИМЯ_ОБРАЗА>Здесь:
<ПУТЬ>— путь к базовому образу.<ИМЯ_ОБРАЗА>— имя базового образа в форматеRAW.
Подробнее в разделе Импорт образа.
-
Создайте конфигурационный packer-файл:
-
В переменные окружения запишите ID сети и ID базового образа:
export NETWORK_ID=<ID_СЕТИ>export SOURCE_IMAGE=<ID_ОБРАЗА>Здесь:
<ID_СЕТИ>— ID сети. Значение можно найти в личном кабинете VK Cloud на вкладке Виртуальные сети → Сети.<ID_ОБРАЗА>— ID базового образа. Значение можно найти в личном кабинете VK Cloud на вкладке Облачные вычисления → Образы. Если используется базовый образ, доступный в VK Cloud, найдите его ID в разделе Аргумент target_os.
-
Создайте packer-файл с именем
<ИМЯ_ОС>.pkr.hcl. Например,altlinux.pkr.hcl. -
В файле опишите конфигурацию ВМ, на базе которой будет создан образ. Описание синтаксиса конфигурационного файла — на официальном сайте Packer.
Имя пользователя ОС, которое указывается в аргументах
ssh_usernameиuserконфигурации, зависит от операционной системы. Список имен приведен в разделе Подключение к ВМ Linux.Имя группы безопасности по умолчанию, которое указывается в аргументе
security_groupsконфигурации, зависит от типа SDN:default— в проекте VK Cloud на базе OpenStack Neutron.default-sprut— в проекте VK Cloud на базе Sprut.
Список доступных групп безопасности можно получить с помощью команды:
openstack security group list -
Проверьте созданную конфигурацию:
packer validate <ИМЯ_ФАЙЛА>Здесь
<ИМЯ_ФАЙЛА>— имя packer-файла.
-
-
Создайте образ ВМ сервиса в VK Cloud:
-
Запустите создание образа ВМ сервиса:
packer build <ИМЯ_ФАЙЛА>Здесь
<ИМЯ_ФАЙЛА>— имя packer-файла.При успешном создании образа ВМ сервиса будет выведено сообщение с ID образа. Пример сообщения:
==> Builds finished. The artifacts of successful builds are:--> openstack.altlinux: An image was created: c6320138-035f-40d8-XXXX-e814edb2ce5fЗдесь
c6320138-035f-40d8-XXXX-e814edb2ce5f— ID образа ВМ сервиса. -
В личном кабинете VK Cloud перейдите на вкладку Облачные вычисления → Образы и убедитесь, что в списке образов появился образ ВМ сервиса.
-