Перейти к содержанию

Создание сценария ansible

В статье содержится пример создания сценария системы управления конфигурациями ansible и применения его в заявке.


Рекомендуемая структура плейбука

Рекомендуемая структура плейбука

interface_engineer_195.png

  • В корне плейбука размещены главный файл запуска app.yml, каталоги environments и roles.

  • В каталоге environments формируется первоначальный список ВМ, которые будут развернуты при выполнении плейбука.

Структура рассматриваемого примера плейбука

В примере предусмотрены два окружения: prod, test, и следующие роли: app, balancer, db, infra.

interface_engineer_196.png

После подготовки файлов необходимо упаковать содержимое каталога плейбука в ZIP-архив. В корне архива должны находиться файлы, содержащие плейбук.


Загрузка плейбука в модуль управления облаком

Необходимо открыть справочник «Сценарии развертывания»
(Администрирование – Справочники – Сценарии развертывания) и нажать кнопку «Добавить».

Добавление справочника

interface_engineer_197.png

Форма «Сценарий развертывания»

interface_engineer_198.png

В открывшейся форме «Сценарий развертывания» следует указать:

  • «Наименование сценария развертывания» (1).

  • «Архив сценария ansible» (2) – созданный на предыдущем этапе ZIP-архив.

    При успешном разборе плейбука будут отображены списки окружений и переменных.

  • Выбрать «Файл запуска сценария» (3).

  • При необходимости указать «Дополнительные параметры запуска» (4).

Сохранить сценарий с помощью кнопки «Сохранить» (5). После сохранения сценарий отобразится в списке доступных.

Список сценариев развертывания

interface_engineer_199.png

Для сценария доступны операции «Редактирование» (5) и «Удаление» (6).


Создание учетной записи, от имени которой выполняется сценарий

УЗ должна обладать достаточными правами для выполнения сценария. Для создания УЗ необходимо открыть справочник «Учетные записи» (Администрирование – Справочники – Учетные записи).

Необходимые разрешения

Для создания УЗ требуется наличие следующих разрешений:

  • «Просмотр справочников».
  • «Просмотр всех учетных записей».
  • «Создание учетных записей».

Следует создать УЗ от имени которой будет выполняться сценарий. В форме «Новая учетная запись» требуется указать:

  • Тип учетной записи (1) – «Приватный SSH-ключ».

  • Файл приватного SSH-ключа (2).

    Создание учетной записи с приватным ключом

    interface_engineer_200.png

УЗ ansible с публичным SSH-ключом должна быть добавлена в ВМ, которые будут создаваться для выполнения сценария развертывания. С этой целью УЗ и ее публичный SSH-ключ необходимо добавить в шаблоны, из которых будут создаваться ВМ, либо добавить в ВМ в качестве «Дополнительной учетной записи» в заявке развертывания.

Для использования в качестве «Дополнительной учетной записи» необходимо создать УЗ ansible типа «Публичный SSH-ключ» (1). При создании УЗ следует указать файл с публичным ключом (2) для приватного ключа, указанного при создании УЗ ansible типа «Приватный SSH-ключ».

Создание учетной записи с публичным SSH-ключом

interface_engineer_201.png


Создание заявки развертывания через сценарий

Необходимо перейти к «Заявке на создание ресурсов» и выбрать тип «Производственная среда». На этапе «Ресурсы» (1) требуется использовать пункт «Выбрать сценарий для развертывания» (2).

Выбор сценария развертывания

interface_engineer_202.png

В открывшемся окне «Выбор сценария развертывания» доступны следующие параметры:

Форма выбора сценария

interface_engineer_203.png

  • Сценарий (1)

    Выбор из числа загруженных в справочник «Сценарии развертывания».

  • Окружение (2).

  • Учетные данные (3).

    Выбрать УЗ типа «Приватный SSH-ключ», созданную
    в справочнике «Учетные записи» и от имени которой будет выполняться сценарий развертывания (ansible).

После выбора параметров следует нажать «Добавить» (4).

В соответствии с выбранным окружением (2), будет сформирован список ВМ.

Сформированный список ВМ

interface_engineer_204.png


Параметры ВМ

Настройки ВМ, Вкладка «СПО»

interface_engineer_205.png

Во вкладке «СПО» (7) параметров каждой ВМ необходимо:

  • Отключить параметр «Использовать пароль администратора из шаблона ВМ» (8).

  • Указать Дополнительную учетную запись (9), тип – «Публичный SSH-ключ».

    УЗ от имени которой будет выполняться сценарий (ansible). Соответствует типу «Публичный SSH-ключ». Может быть выбрана из созданных ранее УЗ или создана из окна параметров (10).

  • Для дополнительной УЗ активировать опцию «Добавить роль администратора к выбранной учетной записи» (11).

  • При необходимости, отредактировать другие параметры (1), имена (4) и размещения (5) для всех ВМ.

Доступны операции удаления и клонирования ВМ. После добавления ВМ требуется открыть вкладку «Группы» (12) формы настроек сценария и добавить новую ВМ (13) в нужную группу хостов плейбука.

Добавление ВМ в группы

interface_engineer_206.png interface_engineer_207.png

В форме настроек сценария доступны другие параметры и переменные плейбука.

На этапе «Ресурсы» в «Заявке на создание ресурсов» необходимо нажать «Далее». На этапе Подтверждение необходимо проверить и подтвердить создание заявки.

Проверка и подтверждение

interface_engineer_208.png

После подтверждения создаются две заявки:

  • Первая заявка используется для создания ВМ.
  • Вторая заявка запускает сценарий развертывания после завершения первой.