Для проектов, которые включают в себя конфигурации Terraform, требуется доступ к среде выполнения Terraform, интегрируемой с локальной версией vRealize Automation Cloud Assembly.

Среда выполнения состоит из кластера Kubernetes, выполняющего команды Terraform CLI для осуществления запрошенных операций. Кроме того, среда выполнения собирает журналы и возвращает результаты команд Terraform CLI.

Для локальной версии vRealize Automation требуется, чтобы пользователи настроили собственный кластер Kubernetes в среде выполнения Terraform. Для каждой организации поддерживается только одна среда выполнения Terraform. Все развертывания Terraform для этой организации используют одну и ту же среду выполнения.

  1. Убедитесь, что у вас есть кластер Kubernetes, в котором можно запустить интерфейс командной строки Terraform.
    • Кластер Kubernetes под управлением vRealize Automation поддерживают все лицензии.

      В vRealize Automation Cloud Assembly перейдите в раздел Инфраструктура > Ресурсы > Kubernetes и подтвердите, что у вас есть кластер Kubernetes. Если у вас нет такого кластера, см. инструкции по его добавлению в Работа с Kubernetes в vRealize Automation Cloud Assembly.

    • Пользователи с лицензией Enterprise могут предоставить файл kubeconfig для запуска интерфейса командной строки Terraform во внешнем кластере Kubernetes.
  2. Если кластер Kubernetes только что добавлен или изменен, дождитесь завершения сбора данных.

    Процесс сбора данных извлекает список пространств имен и другие сведения и может занимать до 5 минут в зависимости от поставщика.

  3. После завершения сбора данных выберите Инфраструктура > Интеграции > Добавить интеграцию, а затем карточку Среда выполнения Terraform.
  4. Введите значения параметров.
    Рис. 1. Пример интеграции среды выполнения Terraform
    Пример интеграции среды выполнения Terraform для пользователей лицензий уровня Advanced
    Настройка Описание
    Имя Назначьте для интеграции среды выполнения уникальное имя.
    Описание Укажите, для чего предназначена интеграция.
    Интеграция среды выполнения Terraform:
    Тип среды выполнения (только для уровня Enterprise) Пользователи лицензии уровня Enterprise могут выбрать, запускать ли интерфейс командной строки Terraform в кластере Kubernetes под управлением vRealize Automation или во внешнем кластере.
    Кластер Kubernetes (все лицензии)

    Для Kubernetes под управлением vRealize Automation выберите кластер, в котором будет запускаться интерфейс командной строки Terraform.

    Кластер и соответствующий файл kubeconfig должны быть доступны. Для проверки доступа к kubeconfig используйте метод GET в каталоге /cmx/api/resources/k8s/clusters/{clusterId}/kube-config.

    Этот параметр доступен для всех лицензий.

    Kubeconfig Kubernetes (только для уровня Enterprise)

    Для внешнего кластера Kubernetes: вставьте все содержимое файла kubeconfig, предназначенное для такого кластера.

    Этот параметр доступен только для лицензий уровня Enterprise.

    Пространство имен Kubernetes Выберите пространство имен, которое будет использоваться в кластере для создания модулей, которые запускают Terraform CLI.
    Параметры контейнера среды выполнения:
    Изображение Введите путь к образу контейнера версии Terraform, которую необходимо запустить.
    Примечание: Кнопка «Проверить» не позволяет проверить наличие образа контейнера.
    Требование к ЦП Укажите объем ЦП для выполнения контейнеров. Значение по умолчанию — 250 millicore.
    Ограничение ЦП Укажите максимально допустимый объем ЦП для выполнения контейнеров. Значение по умолчанию — 250 millicore.
    Требование к памяти Укажите объем памяти для выполнения контейнеров. Значение по умолчанию — 512 МБ.
    Ограничение памяти Укажите максимально допустимый объем памяти для выполнения контейнеров. Значение по умолчанию — 512 МБ.
  5. Щелкните ПРОВЕРИТЬ и при необходимости измените значения параметров.
  6. Нажмите кнопку ДОБАВИТЬ.

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

Устранение неполадок интеграции среды выполнения Terraform

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

Проблема Причина Разрешение
Не удается выполнить проверку, выводится сообщение о недопустимости пространства имен. Кластер был изменен, но оставлено предыдущее пространство имен в пользовательском интерфейсе. После изменения выбранного кластера всегда снова выбирайте пространство имен.
Раскрывающийся список пространств имен пуст или не содержит новые добавленные пространства имен. Сбор данных для кластера не завершен. Сбор данных занимает до 5 минут после ввода или изменения кластера и до 10 минут при вводе или изменении пространства имен. В случае нового кластера с существующими пространствами имен подождите 5 минут до завершения сбора данных.

В случае нового пространства имен в существующем кластере подождите 10 минут до завершения сбора данных.

Если проблема сохраняется, удалите кластер и снова добавьте его в разделе Инфраструктура > Ресурсы > Kubernetes.

Контейнеры Terraform CLI создаются в предыдущем кластере, предыдущем пространстве имен или с предыдущими настройками среды выполнения даже после обновления учетной записи интеграции. Клиент API-интерфейса Kubernetes, используемый системой vRealize Automation, кэшируется в течение 5 минут. Чтобы изменения вступили в силу, может потребоваться до 5 минут.
При выполнении операции проверки или развертывания Terraform произошла ошибка; сообщается, что Kubeconfig недоступен. Иногда эти ошибки возникают из-за того, что кластер недоступен из vRealize Automation.

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

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