Документация "Инферит Облако"

с Terraform: установка, гибкая инициализация провайдера (через репозиторий или бинарники), безопасное управление переменными, готовый main.tf, полные CLI‑команды и надёжное хранение состояния для эффективного IaC

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

Быстрый старт

Установите Terraform

Процесс подробно описан в статье “Локальная установка Terraform”.

Инициализируйте провайдер

Данное действие описано в 2 вариантах:

  1. Если у вас есть доступ к репозиторию “Инициализация Terraform provider из репозитория Inferit Cloud”.
  2. Если нет доступа и есть бинарные файлы провайдера “Инициализация провайдера без доступа к репозиторию”.

Создайте файл с переменными

В данном файле опишите нужные вам переменные. Файл содержит критичные данные для управления вашими ресурсами. Обеспечьте его надежное хранение. Также рекомендуется при версионировании кода, добавлять его в .gitignore. Возможно хранить переменные в вашей системе CI, или как переменные среды.

terraform.tfvars

user_name = "OS_user_name" 
tenant_name = "OS_tenant_name" 
password = "OS_password" 
auth_url = "https://portal.inferit.cloud:5000/v3"

Создайте основной файл проекта

main.tf

В предыдущих пунктах провели инициализацию провайдера. С блоком логирования имеет вид:

terraform {
required_providers {
  openstack = {
    source  = "terraform-provider-openstack/openstack"
    version = "1.54.1"
  }
}
}

variable "user_name" {}
variable "tenant_name" {}
variable "password" {}
variable "auth_url" {}


provider "openstack" {
user_name   = var.user_name
tenant_name = var.tenant_name
password    = var.password
auth_url    = var.auth_url
}

Основные команды – CLI

  • terraform init – команда инициализирует terraform. Создает дополнительные файлы в рабочей директории, а также скачивает провайдеры, объявленные в required_providers;
  • terraform plan – тестовый запуск terraform, который позволяет отследить, какие действия будут выполняться. Исходя из файла состояния terraform.tfstate;
  • terraform validate – проверка синтаксиса файлов *.tf;
  • terraform fmt – приведение к единому форматированию файлов основной конфигурации и файлов переменных;
  • terraform apply – начало развертывания, создает все описанные ресурсы и делает файл состояния terraform.tfstate. Поведение может меняться исходя из файла состояния terraform.tfstate. Если в файле состояния есть ресурс, а в коде его уже нет. Может также удалить лишние ресурсы;
  • terraform destroy – удаляет все созданные ресурсы, записанные в файле состояния, после чего очищает содержимое файла состояний.

Файлы состояний

Работа с Terraform и поведение кода во многом зависит от файла состояния. Сам файл является JSON, в котором записаны все сущности, созданные ранее. Хранится он в директории проекта и имеет название – terraform.tfstate.
Крайне важно обеспечить надежное хранение файла состояния. Файл будет модифицироваться при каждом запуске развертывания terraform. В случае, если файл был поврежден или удален, возможность работы и управления инфраструктурой средствами IaC, будет утрачена.
Есть разные способы решения проблемы. К примеру, при использовании Gitlab CI, разработан специальный модуль для сохранения файлов состояний terraform.

Получить доступ в личный кабинет клиента
Публикации в СМИ
Подключить сервис
Получить демо-доступ
Получить консультацию