Добавить в корзинуПозвонить
Найти в Дзене
EFSOL

Установка Terraform

Terraform – это инструмент организации IaaC (инфраструктура как код), который позволяет управлять облачными ресурсами версионным способом. Terraform используется для создания, изменения и версионирования инфраструктуры, развернутой у популярных поставщиков услуг. С помощью terraform можно управлять облачными вычислениями, сетями, балансировщиками нагрузки, DNS и т.д., используя декларативный язык программирования. Рассмотрим установку terraform на Windows и Linux-устройства. Для проверки корректности работы будем использовать docker. WINDOWS 10 Для начала необходимо установить утилиту Chocolatey. Chocolatey – это бесплатная система управления пакетами с открытым исходным кодом для Windows. Требования и описания к установке описаны на официальном сайте. Все команды должны выполняться с правами администратора. Выполняем команду в Powershell: PS C:\Windows\system32> choco install terraform В результате выполнения должен установиться terraform. Проверяем установку: PS C:\Windows\system32>
Оглавление

Terraform – это инструмент организации IaaC (инфраструктура как код), который позволяет управлять облачными ресурсами версионным способом. Terraform используется для создания, изменения и версионирования инфраструктуры, развернутой у популярных поставщиков услуг.

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

Рассмотрим установку terraform на Windows и Linux-устройства. Для проверки корректности работы будем использовать docker.

WINDOWS 10

Для начала необходимо установить утилиту Chocolatey. Chocolatey – это бесплатная система управления пакетами с открытым исходным кодом для Windows. Требования и описания к установке описаны на официальном сайте.

Все команды должны выполняться с правами администратора.

Выполняем команду в Powershell:

PS C:\Windows\system32> choco install terraform

В результате выполнения должен установиться terraform. Проверяем установку:

PS C:\Windows\system32> terraform -v
Terraform v0.14.7

Можно посмотреть список доступных команд:

PS C:\Windows\system32> terraform -help

Справка по конкретной команде:

PS C:\Windows\system32>terraform -help имя_команды

Приступим к тестированию установки terraform. Установим docker.

Создаем новую папку, где будем хранить конфигурационный файл и перейдем в нее:

PS C:\Windows\system32>mkdir c:\temp\
PS C:\Windows\system32>mkdir c:\temp\terraform-docker-demo
PS C:\Windows\system32>cd C:\temp\terraform-docker-demo\

Создадим файл конфигурации main.tf для terraform со следующим содержанием:

terraform {
required_providers {
docker = {
source = "terraform-providers/docker"
}
}
}

provider "docker" {
host = "npipe:////.//pipe//docker_engine"
}

resource "docker_image" "nginx" {
name = "nginx:latest"
keep_locally = false
}

resource "docker_container" "nginx" {
image = docker_image.nginx.latest
name = "tutorial"
ports {
internal = 80
external = 8000
}
}

Полностью описывать содержимое файла нет необходимости, у terraform довольно хорошо описана документация по всем разделам. Если описать кратко, то мы создаем ресурс docker_containe с nginx на порту 8000 (порт в контейнере 80) с помощью провайдера docker.

Инициализируем проект, при этом происходит загрузка всех необходимых плагинов, позволяющих terraform взаимодействовать с docker.

PS C:\Windows\system32>terraform init

Запустить контейнер nginx можно с помощью apply. Когда terraform попросит вас подтвердить, введите yes и нажмите enter.

PS C:\Windows\system32>terraform apply

Проверяем, что контейнер NGINX существует и работает зайдя по ссылке localhost:8000 в своем веб-браузере или запустив команду docker ps чтобы увидеть контейнер.

PS C:\temp\terraform-docker-demo> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
278736fd31e8 35c43ace9216 "/docker-entrypoint.…" 5 seconds ago Up 4 seconds 0.0.0.0:8000->80/tcp tutorial

Для остановки контейнера запускаем terraform destroy и подтверждаем вводом yes, когда запросит.

PS C:\Windows\system32> terraform destroy

УСТАНОВКА НА LINUX

Установка на Linux отличается только на начальном этапе. Этап конфигурирования одинаков для всех платформ.

DEBIAN/UBUNTU

Добавляем HashiCorp GPG ключи:

$ curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -

Добавляем официальный HashiCorp Linux репозиторий:

$ sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"

Выполняем обновление и установку:

$ sudo apt-get update && sudo apt-get install terraform

CENTOS/RHEL

Устанавливаем yum-config-manager для управления репозиториями:

# sudo yum install -y yum-utils

Используем yum-config-manager для добавления официального HashiCorp Linux репозитория:

# sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo

Устанавливаем:

# sudo yum -y install terraform

Нужно DevOps-сопровождение? Обращайтесь к нам!