Skip to content

Latest commit

 

History

History
74 lines (41 loc) · 4.84 KB

README.md

File metadata and controls

74 lines (41 loc) · 4.84 KB

Домашнее задание к занятию "08.01 Введение в Ansible"

Подготовка к выполнению

  1. Установите ansible версии 2.10 или выше.

img.png

  1. Создайте свой собственный публичный репозиторий на github с произвольным именем.
  2. Скачайте playbook из репозитория с домашним заданием и перенесите его в свой репозиторий.

Основная часть

  1. Попробуйте запустить playbook на окружении из test.yml, зафиксируйте какое значение имеет факт some_fact для указанного хоста при выполнении playbook'a.

img_1.png

  1. Найдите файл с переменными (group_vars) в котором задаётся найденное в первом пункте значение и поменяйте его на 'all default fact'.

img_2.png

  1. Воспользуйтесь подготовленным (используется docker) или создайте собственное окружение для проведения дальнейших испытаний.

img_3.png

  1. Проведите запуск playbook на окружении из prod.yml. Зафиксируйте полученные значения some_fact для каждого из managed host.

img_4.png

  1. Добавьте факты в group_vars каждой из групп хостов так, чтобы для some_fact получились следующие значения: для deb - 'deb default fact', для el - 'el default fact'.

img_5.png

  1. Повторите запуск playbook на окружении prod.yml. Убедитесь, что выдаются корректные значения для всех хостов.

img_6.png

  1. При помощи ansible-vault зашифруйте факты в group_vars/deb и group_vars/el с паролем netology.

img_7.png

  1. Запустите playbook на окружении prod.yml. При запуске ansible должен запросить у вас пароль. Убедитесь в работоспособности.

img_8.png

  1. Посмотрите при помощи ansible-doc список плагинов для подключения. Выберите подходящий для работы на control node.

img_9.png

  1. В prod.yml добавьте новую группу хостов с именем local, в ней разместите localhost с необходимым типом подключения.

img_10.png

  1. Запустите playbook на окружении prod.yml. При запуске ansible должен запросить у вас пароль. Убедитесь что факты some_fact для каждого из хостов определены из верных group_vars.

img_11.png

  1. Заполните README.md ответами на вопросы. Сделайте git push в ветку master. В ответе отправьте ссылку на ваш открытый репозиторий с изменённым playbook и заполненным README.md.

Необязательная часть

  1. При помощи ansible-vault расшифруйте все зашифрованные файлы с переменными.
  2. Зашифруйте отдельное значение PaSSw0rd для переменной some_fact паролем netology. Добавьте полученное значение в group_vars/all/exmp.yml.
  3. Запустите playbook, убедитесь, что для нужных хостов применился новый fact.
  4. Добавьте новую группу хостов fedora, самостоятельно придумайте для неё переменную. В качестве образа можно использовать этот.
  5. Напишите скрипт на bash: автоматизируйте поднятие необходимых контейнеров, запуск ansible-playbook и остановку контейнеров.
  6. Все изменения должны быть зафиксированы и отправлены в вашей личный репозиторий.

Как оформить ДЗ?

Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.