Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Практические руководства
  • Веб-сервис
    • Все руководства
    • Cтатический сайт в Object Storage
    • Cайт на LAMP- или LEMP-стеке
    • Отказоустойчивый сайт с балансировкой нагрузки через Network Load Balancer
    • Отказоустойчивый сайт с балансировкой нагрузки через Application Load Balancer
    • Сайт на базе Joomla с БД PostgreSQL
    • Сайт на WordPress
    • Сайт на WordPress с БД MySQL
    • Перенос WordPress сайта с хостинга в Yandex Cloud
    • Веб-сайт на базе 1С-Битрикс
    • Интеграция L7-балансировщика с Cloud CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
  • Интернет-магазины
    • Все руководства
    • Интернет-магазин на 1С-Битрикс
    • Интернет-магазин на Opencart
  • Архив данных
    • Все руководства
    • Однонодовый файловый сервер
    • Настройка SFTP-сервера на Centos 7
    • Резервное копирование в Object Storage через Acronis
    • Резервное копирование в Object Storage через CloudBerry Desktop Backup
    • Резервное копирование в Object Storage через Duplicati
    • Резервное копирование в Object Storage через Bacula
    • Резервное копирование в Object Storage через Veritas Backup Exec
    • Оцифровка архива в Yandex Vision
  • Тестовая среда
    • Все руководства
    • Тестирование приложений с помощью GitLab
    • Создание тестовых ВМ через GitLab CI
    • Высокопроизводительные вычисления на прерываемых виртуальных машинах
    • Эмуляция множества IoT-устройств
    • Нагрузочное тестирование gRPC-сервиса
    • HTTPS-тест с постоянной нагрузкой с помощью Phantom
    • HTTPS-тест со ступенчатой нагрузкой с помощью Pandora
  • Управление инфраструктурой
    • Все руководства
    • Начало работы с Terraform
    • Загрузка состояний Terraform в Object Storage
    • Начало работы с Packer
    • Сборка образа ВМ с набором инфраструктурных инструментов с помощью Packer
    • Автоматизация сборки образов ВМ с помощью Jenkins
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL
    • Создание кластера Windows-серверов «1С:Предприятия» с базой данных SQL Server
    • Миграция в Yandex Cloud с помощью Hystax Acura
    • Защита от сбоев с помощью Hystax Acura
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
    • Создание SAP-программы в Yandex Cloud
  • Построение Data Platform
    • Все руководства
    • Синхронизация данных из MySQL с помощью Yandex Data Transfer
    • Миграция базы данных из Yandex Managed Service for MySQL в MySQL
    • Настройка управляемой базы данных в кластере ClickHouse для Graphite
    • Обмен данными между Yandex Managed Service for ClickHouse и Yandex Data Proc
    • Импорт базы данных в Yandex Data Proc с использованием Sqoop
    • Использование Confluent Schema Registry с Yandex Managed Service for Apache Kafka®
    • Поставка данных из Yandex Managed Service for PostgreSQL в Yandex Managed Service for Apache Kafka® с помощью Debezium
    • Поставка данных из Yandex Managed Service for PostgreSQL в Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Миграция данных в Yandex Managed Service for Apache Kafka®
    • Перенос коллекций из MongoDB в Yandex Managed Service for MongoDB
    • Миграция базы данных в Yandex Managed Service for SQL Server
    • Перенос данных из PostgreSQL в ClickHouse с помощью Yandex Data Transfer
    • Настройка Kafka Connect для работы с кластером Yandex Managed Service for Apache Kafka®
    • Настройка Yandex Cloud DNS для доступа к кластерам управляемых баз данных из других облачных сетей
    • Миграция в Yandex Managed Service for Elasticsearch с помощью Reindex API
    • Использование скриптов инициализации для настройки GeeseFS в Yandex Data Proc
  • Windows в Yandex Cloud
    • Все руководства
    • Развертывание Active Directory
    • Развертывание Microsoft Exchange
    • Развертывание Remote Desktop Services
    • Развертывание группы доступности Always On
    • Развертывание группы доступности Always On с внутренним сетевым балансировщиком
    • Развертывание Remote Desktop Gateway
  • Сетевая маршрутизация
    • Все руководства
    • Маршрутизация с помощью NAT-инстанса
    • Создание VPN-туннеля
    • Установка виртуального роутера Cisco CSR1000v
    • Установка виртуального роутера Mikrotik CHR
    • Соединение с облачной сетью при помощи OpenVPN
    • Настройка сети для Yandex Data Proc
  • Визуализация и анализ данных
    • Все руководства
    • Визуализация данных из CSV-файла
    • Создание и публикация диаграммы с картой Москвы из CSV-файла
    • Анализ продаж сети магазинов из БД ClickHouse
    • Анализ открытых данных ДТП на дорогах России
    • Анализ продаж и локаций пиццерий на данных из БД ClickHouse и Marketplace
    • Веб-аналитика с подключением к Яндекс Метрике
    • Веб-аналитика с расчетом воронок и когорт на данных Яндекс Метрики
    • Аналитика мобильного приложения на данных AppMetrica
    • Анализ статистики подкастов Яндекс Музыки (для авторов подкастов)
    • Визуализация данных с помощью SQL-чарта
    • Анализ customer journey мобильного приложения на данных AppMetrica
    • Анализ логов Object Storage при помощи DataLens
  • Интернет вещей
    • Руководства по работе с интернетом вещей
    • Мониторинг состояния географически распределенных устройств
    • Мониторинг показаний датчиков и уведомления о событиях
  • Бессерверные технологии
    • Сокращатель ссылок
    • Ввод данных в системы хранения
    • Хранение журналов работы приложения
  1. Управление инфраструктурой
  2. Начало работы с Packer

Начало работы с Packer

Статья создана
Yandex Cloud
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Установите Packer
  • Подготовьте конфигурацию образа
  • Создайте образ
  • Проверьте созданный образ
    • Удалите созданные ресурсы

Packer позволяет создавать образы дисков виртуальных машин с заданными в конфигурационном файле параметрами. Сценарий описывает создание образа диска с помощью Packer.

Packer создаст и запустит виртуальную машину с ОС Debian 9, на которую будет установлен веб-сервер nginx. Затем ВМ будет удалена и будет создан образ ее загрузочного диска. После этого диск тоже будет удален.

Чтобы создать образ:

  1. Установите Packer.
  2. Подготовьте конфигурацию образа.
  3. Создайте образ.
  4. Проверьте образ.

Если созданный образ больше не нужен, удалите его.

Подготовьте облако к работе

Перед работой нужно зарегистрироваться в Yandex Cloud и создать платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы.
  2. На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

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

Подробнее об облаках и каталогах.

  • Установите интерфейс командной строки Yandex Cloud.
  • Создайте в вашем каталоге облачную сеть с одной подсетью.
  • Получите OAuth-токен.

Необходимые платные ресурсы

Оплачивается хранение созданных образов (см. тарифы Yandex Compute Cloud).

Установите Packer

Примечание

Для работы с Yandex Cloud требуется Packer версии не ниже 1.5.

Скачайте дистрибутив Packer и установите его по инструкции на официальном сайте.

Также вы можете скачать дистрибутив Packer для вашей платформы из зеркала. После загрузки добавьте путь к папке, в которой находится исполняемый файл, в переменную PATH:

export PATH=$PATH:/path/to/packer

Подготовьте конфигурацию образа

  1. Подготовьте идентификатор каталога, выполнив команду yc config list.
  2. Подготовьте идентификатор подсети, выполнив команду yc vpc subnet list.
  3. Создайте JSON-файл с любым именем, например, image.json. Запишите туда следующую конфигурацию:
{
  "builders": [
    {
      "type":      "yandex",
      "token":     "<OAuth-токен>",
      "folder_id": "<идентификатор каталога>",
      "zone":      "ru-central1-a",

      "image_name":        "debian-9-nginx-{{isotime | clean_resource_name}}",
      "image_family":      "debian-web-server",
      "image_description": "my custom debian with nginx",

      "source_image_family": "debian-9",
      "subnet_id":           "<идентификатор подсети>",
      "use_ipv4_nat":        true,
      "disk_type":           "network-ssd",
      "ssh_username":        "debian"
    }
  ],
  "provisioners": [
    {
      "type": "shell",
      "inline": [
        "echo 'updating APT'",
        "sudo apt-get update -y",
        "sudo apt-get install -y nginx",
        "sudo su -",
        "sudo systemctl enable nginx.service",
        "curl localhost"
      ]
    }
  ]
}

Создайте образ

Запустите сборку образа с указанными в конфигурации параметрами:

$ packer build image.json

Проверьте созданный образ

Убедитесь, что образ создан:

  1. Перейдите в консоль управления.
  2. Откройте сервис Compute Cloud.
  3. Откройте раздел Образы. Убедитесь, что там появился новый образ диска.

Удалите созданные ресурсы

Если созданный образ вам больше не нужен, удалите его.

Удалите подсеть и облачную сеть, если вы их создавали специально для выполнения сценария.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Установите Packer
  • Подготовьте конфигурацию образа
  • Создайте образ
  • Проверьте созданный образ
  • Удалите созданные ресурсы