В голове приходится держать очень много различной информации и запомнить все ну совершенно невозможно и я взял за практику делать небольшие заметки по типовым операциям при работе с различными технологиями.
Вот например небольшая шпаргалка по типовым операциям при работе с Ansible.
Типовые операции
Выполнить команду на всех хостах из Inventory файла
$ ansible all -i ./unified-servers-configuration-storage/hosts.ini -m shell -a 'hostname'
Игнорировать проверку fingerprint хоста (Are you sure you want to continue connecting (yes/no/[fingerprint])?)
$ ANSIBLE_HOST_KEY_CHECKING=False ansible all -i ./unified-servers-configuration-storage/hosts.ini -m shell -a 'hostname'
Выполнить плэйбук применительно к определенному хосту
$ ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ./unified-servers-configuration-storage/hosts.ini --limit="sms-monitor-01" --user chernousov --become --become-user=root ./install-config-consul.yml
Ограничить выполнение плэйбука определенной меткой
$ ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook --tags Repository -i ./unified-servers-configuration-storage/hosts.ini --limit="sms-monitor-01" --user chernousov --become --become-user=root ./install-config-consul.yml
Отладка результирующих переменных хоста
Пример запроса параметров на стороне хоста (удаленные)
$ ansible --private-key /home/chernousov/Development/id_rsa --user root -i ./configs/hosts.ini avvproxy7 -m setup
Пример запроса данных и переменных на стороне Playbook
$ ansible --private-key /home/chernousov/Development/id_rsa --user root -i ./configs/hosts.ini avvproxy7 -m debug -a "var=hostvars[inventory_hostname]"