Skip to content
Snippets Groups Projects
feniks's avatar
feniks authored
3677af20
History
Name Last commit Last update
files
screenshots
README.md

Домашнее задание к занятию "10.7 Отказоустойчивость в облаке" - Кузин Максим

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

  1. Сделайте fork данного репозитория к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/git-hw или https://github.com/имя-вашего-репозитория/7-1-ansible-hw).
  2. Выполните клонирование данного репозитория к себе на ПК с помощью команды git clone.
  3. Выполните домашнее задание и заполните у себя локально этот файл README.md:
  4. После завершения работы над домашним заданием сделайте коммит (git commit -m "comment") и отправьте его на Github (git push origin);
  5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github.
  6. Любые вопросы по выполнению заданий спрашивайте в чате учебной группы и/или в разделе “Вопросы по заданию” в личном кабинете.

Желаем успехов в выполнении домашнего задания!

Дополнительные материалы, которые могут быть полезны для выполнения задания

  1. Руководство по оформлению Markdown файлов

Задание 1

Возьмите за основу Задание 1 из модуля 7.3 Подъем инфраструктуры в Яндекс.Облаке

Теперь вместо одной виртуальной машины сделайте terraform playbook, который:

  1. Создаст 2 идентичные виртуальные машины. Используйте аргумент count для создания таких ресурсов.
  2. Создаст Таргет группу. Поместите в нее созданные на шаге 1 виртуальные машины.
  3. Создаст Сетевой балансировщик нагрузки. Который слушает на порту 80, отправляет трафик на порт 80 виртуальных машин и http healthcheck на порт 80 виртуальных машин.

Рекомендуею почитать документацию сетевого балансировщика нагрузки для того, чтобы было понятно, что вы сделали.

Далее установите на созданные виртуальные машины пакет nginx любым удобным способом и запустите nginx web сервер на порту 80.

Далее перейдите в веб консоль Yandex.Cloud - убедитесь, что:

  1. Созданный балансировщик находится в статусе Active,
  2. Обе виртуальные машины в целевой группе находятся в состоянии healthy.

Сделайте запрос на 80 порт на внешний IP адрес балансировщика и убедитесь, что вы получаете ответ в виде дефолтной страницы nginx.

В качестве результата Домашней работы пришлите:

1) Terraform Playbook.

2) Скришнот статуса балансировщика и целевой группы.

3) Скриншот страницы, которая открылась при запросе IP адреса балансировщика.

Ответ.

  1. main.tf
  2. image_1.1
  3. image_1.2

Дополнительные задания (со звездочкой*)

Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале.


Задание 2*

Теперь, вместо создания виртуальных машин, создайте Группу виртуальных машин с балансировщиком нагрузки.

Nginx необходимо будет поставить тоже автоматизированно. Для этого вам надо будет подложить файл установки nginx в user-data ключ метадаты виртуальной машины.

Далее перейдите в веб консоль Yandex.Cloud,убедитесь, что:

  1. Созданный балансировщик находится в статусе Active,
  2. Обе виртуальные машины в целевой группе находятся в состоянии healthy.

Сделайте запрос на 80 порт на внешний IP адрес балансировщика и убедитесь, что вы получаете ответ в виде дефолтной страницы nginx.

В качестве результата Домашней работы пришлите

1) Terraform Playbook.

2) Скришнот статуса балансировщика и целевой группы.

3) Скриншот страницы, которая открылась при запросе IP адреса балансировщика.