Skip to content

Latest commit

 

History

History
71 lines (49 loc) · 1.95 KB

README.md

File metadata and controls

71 lines (49 loc) · 1.95 KB

OTUS HIGHLOAD

Домашнее задание Terraform

Задание: реализовать разворачивание одной виртуалки в Yandex.Cloud с помощью terraform и запровизить туда nginx с помощью ansible.

Содержание

Устанавливаем terraform.

Устанавливаем утилиту yc (Yandex Cloud Cli).

Устанавливаем direnv (по-желанию).

Подкидываем провайдеру yandex необходимые креды с помощью переменных окружения (в моем случае это содержимое .envrc)

export YC_TOKEN=$(yc iam create-token)
export YC_CLOUD_ID=$(yc config get cloud-id)
export YC_FOLDER_ID=$(yc config get folder-id)
export YC_ZONE="ru-central1-a"

Использование YC_TOKEN, YC_CLOUD_ID, YC_FOLDER_ID таким образом избавит от необходимости держать креды в vars.

Решение находится в папке 02-terraform/

Примечание: путь к ansible.cfg прокидывается с помощью переменной окружения (так же через .envrc)

cd 02-terraform
export ANSIBLE_CONFIG="$(pwd)/ansible/ansible.cfg"

Инициализируем

terraform init

Запускаем

terraform apply

Проверяем

curl -I http://<output from external_ip_address_vm_1>

Положительный результат, если curl выдал нечто подобное

$ curl -I 89.169.149.162
HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Thu, 15 Aug 2024 09:49:56 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 15 Aug 2024 09:49:40 GMT
Connection: keep-alive
ETag: "66bdcf34-264"
Accept-Ranges: bytes

результат