Имея репозиторий и файлы конфигурации Terraform, можно разработать для них шаблон Cloud Assembly.

  1. Необходимые условия
  2. Включение версий среды выполнения Terraform
  3. Добавление ресурсов Terraform в проект
  4. Развертывание облачного шаблона

Необходимые условия

Настройте и интегрируйте репозиторий управления версиями. См. раздел Подготовка Cloud Assembly для конфигураций Terraform.

Включение версий среды выполнения Terraform

При развертывании конфигураций Terraform можно определить версии среды выполнения Terraform, доступные для пользователей. Следует отметить, что конфигурации Terraform также могут включать в себя встроенные ограничения версий.

Чтобы создать список допустимых версий, выберите Инфраструктура > Настроить > Версии Terraform.

Добавление ресурсов Terraform в проект

Создайте облачный шаблон, который включает в себя конфигурации Terraform.

  1. В Cloud Assembly выберите Проектирование > Облачные шаблоны и щелкните Создать из > Terraform.

    Появляется мастер настройки Terraform.

  2. Следуйте подсказкам.
    Страница мастера Настройка Значение
    Создать облачный шаблон Имя Назначьте проекту уникальное имя.
    Описание Объясните, для чего предназначен проект.
    Проект Выберите проект, содержащий интеграцию репозитория, в котором хранится конфигурация Terraform.
    Источник конфигурации Репозиторий Выберите интегрированный репозиторий, в котором сохранена конфигурация Terraform.
    Фрагмент Commit Выберите фрагмент Commit из репозитория или оставьте поле пустым, чтобы использовать конфигурацию Terraform из заголовка head репозитория.

    Ограничение Bitbucket. Количество доступных для выбора фрагментов Commit может быть уменьшено из-за конфигурации сервера репозитория Bitbucket.

    Исходный каталог Выберите подкаталог в созданной структуре репозитория. Выше приведены примеры подкаталогов demo1, demo2 и demo3.
    Завершение настройки Репозиторий Проверьте правильность выбора репозитория.
    Исходный каталог Проверьте правильность выбора каталога.
    Версия Terraform Выберите версию среды выполнения Terraform для запуска при развертывании конфигурации Terraform.
    Поставщики

    Если в конфигурацию Terraform добавлен блок поставщика, проверьте его и облачную зону, в которой будет развернут этот облачный шаблон.

    Отсутствие поставщика не является проблемой. По окончании работы мастера нужно просто изменить поставщика и облачную зону в свойствах шаблона, чтобы добавить или изменить целевой объект развертывания.

    Переменные Выберите конфиденциальные значения шифрования, например пароли.
    Выходные данные Проверьте выходные данные из конфигурации Terraform, преобразуемые в выражения, на которые код проекта может далее ссылаться.
  3. Щелкните Создать.

    Ресурс Terraform появляется на холсте облачного шаблона с кодом Cloud Assembly, отражающим развертываемую конфигурацию Terraform.

Ресурс Terraform, добавленный в проект

При необходимости в облачный шаблон можно добавить другие ресурсы Cloud Assembly, чтобы объединить код Terraform и код, отличный от Terraform, в гибридном проекте.

Примечание: Обновление конфигураций Terraform в репозитории не синхронизирует изменения с облачным шаблоном. Автоматическая синхронизация может привести к угрозам безопасности, например из-за вновь добавленных конфиденциальных переменных.

Чтобы выявить изменения конфигурации Terraform, перезапустите мастер, выберите новый фрагмент Commit и определите все новые конфиденциальные переменные.

Развертывание облачного шаблона

При развертывании облачного шаблона на вкладке Журнал можно развернуть событие, например этап выделения или создания, чтобы проверить журнал сообщений в Terraform CLI.

Утверждения. В дополнение к ожидаемым этапам Terraform, таким как ПЛАНИРОВАНИЕ, ВЫДЕЛЕНИЕ или СОЗДАНИЕ, Cloud Assembly реализует управление с помощью этапа утверждения. Дополнительные сведения об утверждении запросов см. в разделе Настройка политик утверждения Service Broker.

Сообщения Terraform CLI в журнале

После развертывания появляется внешний ресурс, который представляет общий компонент Terraform с дочерними ресурсами внутри для отдельных компонентов, созданных Terraform. Родительский ресурс Terraform контролирует жизненный цикл дочерних ресурсов.

Родительские и дочерние ресурсы Terraform