README.md

Инфраструктура высоконагруженных систем


Домашнее практическое задание по использованию Terraform

Цель

Реализовать первый терраформ скрипт

Описание/Пошаговая инструкция выполнения домашнего задания

Необходимо:

  • реализовать терраформ для разворачивания одной виртуалки в yandex-cloud
  • запровиженить nginx с помощью ansible

Формат сдачи

  • репозиторий с терраформ манифестами
  • README-файл

Критерии оценки:

Преподаватель с помощью terraform apply должен получить развернутый стенд.

Компетенции:

  • Автоматизировать инфраструктуру и конфигурации
  • Развертывать и настраивать инфраструктуру в облаке с использованием Terraform

Порядок проверки домашнего задания

Подготовка сервисной УЗ для работы с Yandex Cloud

Выдаём минимально необходимые права сервисной УЗ на каталоге

  • compute.disks.user
  • compute.editor
  • compute.images.user
  • vpc.admin

Получение исходного кода домашнего задания

git clone https://gitflic.ru/project/den-patrakeev/study_hl_terrafrom.git
cd study_hl_terrafrom

Готовим изолированное окружение с Ansible

python3 -m venv ansible/venv
source ansible/venv/bin/activate
pip3 install -r ansible/requirements.txt
ansible-galaxy collection install -r ansible/requirements.yml --collections-path=ansible

Задаём переменные окружения для провайдера Terraform Yandex Cloud

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)

Запускаем создание ВМ

terraform init
terraform plan
terraform apply

Получаем внешний IP-адрес ВМ и URL-адрес работающего NGINX

Получаем его из вывода успешно отработавшей ВМ в строке:

URL = "http://XXX.XXX.XXX.XXX"
ip_address_external = "XXX.XXX.XXX.XXX"

Авторизуемся в ВМ по SSH

Подключаемся к ВМ следующим образом:

ssh almalinux@XXX.XXX.XXX.XXX
Описание
Конвейеры
0 успешных
0 с ошибкой
Разработчики