Cloud.ru Evolution Terraform Provider 0.2.2 (preview)
Terraform позволяет быстро разворачивать и поддерживать инфраструктуру в облаке Cloud.ru Evolution с помощью конфигурационных файлов. Вы описываете в коде виртуальные машины, подсети, группы безопасности и другие облачные ресурсы в виде объектов с параметрами, а Terraform исполняет этот код и создает объекты инфраструктуры или обновляет их, если конфигурация изменилась. Такой подход ускоряет подготовку инфраструктуры и минимизирует ошибки, связанные с человеческим фактором.
Конфигурационные файлы пишутся на языке HCL, который поддерживает переменные, условия, циклы, функции и другие конструкции. Это позволяет использовать один конфигурационный файл для разных сред. Например, для тестовой и промышленной среды можно задавать разное количество воркеров Kubernetes® или виртуальных машин для фронтенда приложения.
Terraform полезен инженерам и администраторам, которые хотят упростить и автоматизировать управление большим количеством облачных ресурсов.
Установка terraform
☝🏻Перед началом работы, убедитель что у Вас установлен terraform: terraform
Установка провайдера
В рамках beta-тестирования, установка Terraform-провайдера Cloud.ru Evolution производится через File system mirror. В зависимости от архитектуры и ОС вашего компьютера, выберите нужный вариант.
Mac(Apple)
Для скачивания текущей версии провайдера, выполните следующую команду:
cd \
&& curl -L --create-dirs -o .terraform.d/plugins/cloud.ru/cloudru/cloud/0.2.2/darwin_arm64/terraform-provider-cloud_0.2.2_darwin_arm64 \
https://github.com/CLOUDdotRu/evo-terraform/releases/download/0.2.2/terraform-provider-cloud_0.2.2_darwin_arm64 \
&& chmod +x .terraform.d/plugins/cloud.ru/cloudru/cloud/0.2.2/darwin_arm64/terraform-provider-cloud_0.2.2_darwin_arm64
Далее, перейдите в каталог с вашими .tf файлами и выполните команду:
terraform init
Mac(Intel)
Для скачивания текущей версии провайдера, выполните следующую команду:
cd \
&& curl -L --create-dirs -o .terraform.d/plugins/cloud.ru/cloudru/cloud/0.2.2/darwin_amd64/terraform-provider-cloud_0.2.2_darwin_amd64 \
https://github.com/CLOUDdotRu/evo-terraform/releases/download/0.2.2/terraform-provider-cloud_0.2.2_darwin_amd64 \
&& chmod +x .terraform.d/plugins/cloud.ru/cloudru/cloud/0.2.2/darwin_amd64/terraform-provider-cloud_0.2.2_darwin_amd64
Далее, перейдите в каталог с вашими .tf файлами и выполните команду:
terraform init
Linux(x64)
Для скачивания текущей версии провайдера, выполните следующую команду:
cd \
&& curl -L --create-dirs -o .terraform.d/plugins/cloud.ru/cloudru/cloud/0.2.2/linux_amd64/terraform-provider-cloud_0.2.2_linux_amd64 \
https://github.com/CLOUDdotRu/evo-terraform/releases/download/0.2.2/terraform-provider-cloud_0.2.2_linux_amd64 \
&& chmod +x .terraform.d/plugins/cloud.ru/cloudru/cloud/0.2.2/linux_amd64/terraform-provider-cloud_0.2.2_linux_amd64
Далее, перейдите в каталог с вашими .tf файлами и выполните команду:
terraform init
Windows(x64)
TBD
☝🏻Исполняемые файлы провайдера доступны здесь: evo-terraform
Настройка провайдера
Перед началом работы с провайдером, необхдодимо получить следующие данные:
- auth_key_id
- auth_secret
- project_id
Первые два пункта можно вязть здесь: keys
project_id можно скопировать из адрессной строки своего проекта на портале console.cloud.ru
Далее, необходимо записать эти значения в файле main.tf и расположить его в том же каталоге, что и другие .tf файлы.
--- адреса энедпоинтов и структура ресурсов и провайдеров будут изменены позже в любое время
Работа с IAM
С помощью Terraform можно добавлять новых пользователей и управлять их ролями.
Управлять пользователями отдельного проекта или всего облака могут пользователи с соответствующими административными ролями. Чтобы узнать подробнее о доступных действиях для каждой роли изучите статью Роли
Файлы примеров для работы с IAM расположены в каталоге: IAM Examples
Работа с CloudPlatform
С помощью Terraform возможно создание и управление проектами. Проекты позволяют распределять облачные ресурсы между проектными задачами и командами. В каждом проекте можно подключать только нужные платформы и сервисы.
Файлы примеров для работы с CloudPlatform расположены в каталоге: CloudPlatform Examples
Работа с Compute
При работе с сервисом Compute через Terraform можно создавать и управлять виртуальными машинами различной конфигурации. Виртуальные машины — виртуальные серверы, развернутые на вычислительных ресурсах платформы виртуализации Evolution.
Файлы примеров для работы с Compute расположены в каталоге: Compute Examples
Работа с Managed Kubernetes
Managed Kubernetes — сервис управления кластерами Kubernetes на вычислительных ресурсах облачной архитектуры Cloud.ru. Сервис позволяет автоматизировать настройку и сопровождение контейнерной инфраструктуры, упростить развертывание приложений и обеспечить гибкое масштабирование. Можно быстро создать кластер и управлять им без ограничений с помощью Terraform.
Файлы примеров для работы с K8s расположены в каталоге: K8s Examples