- Установите ansible версии 2.10 или выше.
- Создайте свой собственный публичный репозиторий на github с произвольным именем.
- Скачайте playbook из репозитория с домашним заданием и перенесите его в свой репозиторий.
- Попробуйте запустить playbook на окружении из
test.yml
, зафиксируйте какое значение имеет фактsome_fact
для указанного хоста при выполнении playbook'a.
Ответ: some fact
= 12
- Найдите файл с переменными (group_vars) в котором задаётся найденное в первом пункте значение и поменяйте его на 'all default fact'.
- Воспользуйтесь подготовленным (используется
docker
) или создайте собственное окружение для проведения дальнейших испытаний.
- Проведите запуск playbook на окружении из
prod.yml
. Зафиксируйте полученные значенияsome_fact
для каждого изmanaged host
.
- Добавьте факты в
group_vars
каждой из групп хостов так, чтобы дляsome_fact
получились следующие значения: дляdeb
- 'deb default fact', дляel
- 'el default fact'.
Изменил значения в файлах examp.yml директориях /group_vars/deb и /group_vars/el на deb default fact
и 'el default fact' соответственно.
- Повторите запуск playbook на окружении
prod.yml
. Убедитесь, что выдаются корректные значения для всех хостов.
- При помощи
ansible-vault
зашифруйте факты вgroup_vars/deb
иgroup_vars/el
с паролемnetology
.
- Запустите playbook на окружении
prod.yml
. При запускеansible
должен запросить у вас пароль. Убедитесь в работоспособности.
- Посмотрите при помощи
ansible-doc
список плагинов для подключения. Выберите подходящий для работы наcontrol node
.
- В
prod.yml
добавьте новую группу хостов с именемlocal
, в ней разместите localhost с необходимым типом подключения.
- Запустите playbook на окружении
prod.yml
. При запускеansible
должен запросить у вас пароль. Убедитесь что фактыsome_fact
для каждого из хостов определены из верныхgroup_vars
.
- Заполните
README.md
ответами на вопросы. Сделайтеgit push
в веткуmaster
. В ответе отправьте ссылку на ваш открытый репозиторий с изменённымplaybook
и заполненнымREADME.md
.