Категорії
DevOps

Налаштування Terraform. VirtualBox Vagrant Go PHPStorm

Terraform – це програмний засіб, який використовується для управління інфраструктурою, розроблений компанією Hashicorp. Даний програмний засіб дозволяє реалізовувати парадигму “Infrastructure as Code”. Налаштування потрібного середовища реалізується з допомогою конфігураційного файлу.

У даній статті розглянуто процес налаштування Terraform для розгортання образу ОС Ubuntu на VirtualBox.

Крок 1. Завантаження VirtualBox https://www.virtualbox.org/wiki/Downloads

Крок 2. Завантаження Vagrant https://www.vagrantup.com/downloads

Крок 3. Завантаження Go https://go.dev/learn/

Крок 4. Завантажити Terraform https://www.terraform.io/downloads та розархівувати у бажану директорію. Рекомендовано не використовувати кириличні символи у назві директорій.

Крок 4. Додати усі вищенаведені програми до спску системних змінних в ОС Windows.

Крок 5. Перевірка Terraform версії. Важливо !!! Наведені програми повинні бути видимими з будь якої директорії в системі.

Крок 6. Перевірка статусу запущеної віртуальної машини. Для цього запустимо у консоді команду VBoxManage.exe

Крок 7. Завантаження VirtualBox провайдера із сайту https://registry.terraform.io/providers/shekeriev/virtualbox/0.0.4 та подальше розархівування у робочій директорії.

Крок 8. Після переходу у директорію (Крок 7) необхідно збудувати проект, використовуючи мову програмування Go.

В результаті отримаємо згенерований файл

Крок 9. Скопіююємо згенерований файл terraform-provider-virtualbox.exe у директорію із нашим проектом ,у даному випадку це E:\DevOps\terraform_1.2.6_windows_amd64

Крок 10. У директорії проекту “E:\DevOps\terraform_1.2.6_windows_amd64” запустимо команду
./terraform init

Крок 10.  Відкрємо будь яке середовище розробки і створимо конфігураційний файл main.tf . Для прикладу використано середовище PHPStorm. Для зрусності редагування конфігураційного файлу є можливість доставити плагіни для terraform. Вміст файлу main.tf

terraform {
required_providers {
virtualbox = {
source = “terra-farm/virtualbox”
version = “0.2.2-alpha.1”
}
}
}

variable “type_network” {
default = “bridged”
}

resource “virtualbox_vm” “nodetest” {
count = 1
name = “${ format(“node-%02d”, count.index+1)}”
image = “https://vagrantcloud.com/geerlingguy/boxes/ubuntu1804/versions/1.0.4/providers/virtualbox.box”
cpus = 2
memory = “2GB”

network_adapter {
type = “bridged”
host_interface = “Qualcomm Atheros QCA9377 Wireless Network Adapter”
}
}

output “Ipaddress” {
value = element( virtualbox_vm.nodetest.*.network_adapter.0.ipv4_address, 1 )
}

Крок 11. Запустимо команду ./terraform plan

Крок 12. Запустимо команду ./terraform apply

Результат: у VirtualBox створилась віртуальна машина node-01 та успішно запустилась.

Перейшовши у саму віртуальну машину та ввівши логін/пароль

vagrant/vagrant , ми можемо працювати з ubuntu.

Натхненням для цього матеріалу став курс від компанії Softserve “Teacher’s DevOps Course”.

 

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *