1 год назад
История
README.md
Инфраструктура высоконагруженных систем
Домашнее практическое задание по использованию Terraform
Цель
Реализовать первый терраформ скрипт
Описание/Пошаговая инструкция выполнения домашнего задания
Необходимо:
- реализовать терраформ для разворачивания одной виртуалки в yandex-cloud
- запровиженить nginx с помощью ansible
Формат сдачи
- репозиторий с терраформ манифестами
- README-файл
Критерии оценки:
Преподаватель с помощью terraform apply должен получить развернутый стенд.
Компетенции:
- Автоматизировать инфраструктуру и конфигурации
- Развертывать и настраивать инфраструктуру в облаке с использованием Terraform
Порядок проверки домашнего задания
Подготовка сервисной УЗ для работы с Yandex Cloud
- Настраиваем сервисную УЗ
- Устанавливаем и настраиваем Yandex Cloud CLI
- Готовим окружение для работы с провайдера с Yandex Cloud
- Устанавливаем и настраиваем зеркала Terraform
Выдаём минимально необходимые права сервисной УЗ на каталоге
compute.disks.usercompute.editorcompute.images.uservpc.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
с ошибкой