Создание собственного образа в 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 |
+----------------------+---------------+--------+----------------------+--------+
Добавить комментарий