8.1 Введение в Ansible - Наталия Проворкова
1. Попробуйте запустить playbook на окружении из test.yml, зафиксируйте какое значение имеет факт some_fact для указанного хоста при выполнении playbook'a.
2. Найдите файл с переменными (group_vars) в котором задаётся найденное в первом пункте значение и поменяйте его на 'all default fact'.
3. Воспользуйтесь подготовленным (используется docker) или создайте собственное окружение для проведения дальнейших испытаний.
docker run --name centos7 -d pycontribs/centos:7 sleep 36000000
docker run --name ubuntu -d pycontribs/ubuntu sleep 65000000
4. Проведите запуск playbook на окружении из prod.yml. Зафиксируйте полученные значения some_fact для каждого из managed host.
5. Добавьте факты в group_vars каждой из групп хостов так, чтобы для some_fact получились следующие значения: для deb - 'deb default fact', для el - 'el default fact'.
6. Повторите запуск playbook на окружении prod.yml. Убедитесь, что выдаются корректные значения для всех хостов.
7. При помощи ansible-vault зашифруйте факты в group_vars/deb и group_vars/el с паролем netology.
8. Запустите playbook на окружении prod.yml. При запуске ansible должен запросить у вас пароль. Убедитесь в работоспособности.
9. Посмотрите при помощи ansible-doc список плагинов для подключения. Выберите подходящий для работы на control node.
ansible-doc -t connection -l
Подойдет плагин local
10. В prod.yml добавьте новую группу хостов с именем local, в ней разместите localhost с необходимым типом подключения.
11. Запустите playbook на окружении prod.yml. При запуске ansible должен запросить у вас пароль. Убедитесь что факты some_fact для каждого из хостов определены из верных group_vars.
Самоконтроль выполнения задания
1. Где расположен файл с some_fact из второго пункта задания?
group_vars/all/examp.yml
2. Какая команда нужна для запуска вашего playbook на окружении test.yml?
ansible-playbook -i inventory/test.yml site.yml
3. Какой командой можно зашифровать файл?
ansible-vault encrypt group_vars/el/examp.yml
4. Какой командой можно расшифровать файл?
ansible-vault decrypt group_vars/el/examp.yml
5. Можно ли посмотреть содержимое зашифрованного файла без команды расшифровки файла? Если можно, то как?
ansible-vault view group_vars/el/examp.yml
6. Как выглядит команда запуска playbook, если переменные зашифрованы?
ansible-playbook -i inventory/prod.yml site.yml --ask-vault-pass
7. Как называется модуль подключения к host на windows?
winrm
8. Приведите полный текст команды для поиска информации в документации ansible для модуля подключений ssh
ansible-doc -t connection ssh
9. Какой параметр из модуля подключения ssh необходим для того, чтобы определить пользователя, под которым необходимо совершать подключение?
remote_user