Создание собственного образа в Yandex.Cloud с использованием Packer.
Ссылка на документацию YC: https://cloud.yandex.ru/docs/tutorials/infrastructure-management/packer-quickstart
Packer позволяет создавать образы дисков виртуальных машин с заданными в конфигурационном файле параметрами. Сценарий описывает создание образа диска с помощью Packer.
Packer устанавливаем из репозитория YC.
Для создания образа потребуются folder-id, token — получаем командой yc config list
А также ID подсети (subnet_id) — подсеть создаём командой
yc vpc subnet create --name netology-subnet-a --zone ru-central1-a --range 10.1.2.0/24 --network-name netology --description "my first subnet via yc"
ID получаем командой yc vpc subnet list
Примеры использования yc можно посмотреть по ссылке.
Packer для создания образов использует файл описания в формате json.
Пример файла для создания собственного образа CentOS 7 ( centos-7-base.json ):
{
"builders": [
{
"disk_type": "network-nvme",
"folder_id": "b1giv01e8j41n6fkprqq",
"image_description": "by packer",
"image_family": "centos",
"image_name": "centos-7-base",
"source_image_family": "centos-7",
"ssh_username": "centos",
"subnet_id": "e9bev8vvi5vcq824c85k",
"token": "1234567890",
"type": "yandex",
"use_ipv4_nat": true,
"zone": "ru-central1-a"
}
],
"provisioners": [
{
"inline": [
"sudo yum -y update",
"sudo yum -y install bridge-utils bind-utils iptables curl net-tools tcpdump rsync telnet openssh-server"
],
"type": "shell"
}
]
}
Выполняем инициализацию packer:
$ packer init
Проверяем файл на наличие ошибок:
$ packer validate centos-7-base.json
И собираем образ:
packer build centos-7-base.json
Сборка занимает несколько минут.
Проверяем наличие образа в YC:
$ yc compute image list
+----------------------+---------------+--------+----------------------+--------+
| ID | NAME | FAMILY | PRODUCT IDS | STATUS |
+----------------------+---------------+--------+----------------------+--------+
| fd8k9fs2f2c9t4839rda | centos-7-base | centos | f2e99agij1uhrk2ioilk | READY |
+----------------------+---------------+--------+----------------------+--------+
Добавить комментарий