ansible

https://www.ansible.com/

Установка
Параметры команды ansible

Модули
Роли

ansible_os_family


https://docs.ansible.com/ansible/latest/collections/ansible/builtin/add_host_module.html - Add a host (and alternatively a group) to the ansible-playbook in-memory inventory

https://youtu.be/2p8y9wdsvVE - Ansible: быстрый старт Бесплатный урок OTUS

https://www.8host.com/blog/kak-rabotat-s-ansible-prostaya-i-udobnaya-shpargalka/ mht - КАК РАБОТАТЬ С ANSIBLE: ПРОСТАЯ И УДОБНАЯ ШПАРГАЛКА
https://stackoverflow.com/questions/25326386/ansible-define-inventory-at-run-time mht- динамическое формирование списка хостов
https://www.digitalocean.com/community/tutorials/how-to-use-ansible-to-install-and-set-up-lamp-on-ubuntu-18-04-ru mht - Использование Ansible для установки и настройки LAMP в Ubuntu 18.04
20-Ansible - Хранение Секретов - ansible-vault
http://linuxsql.ru/content/ansible-izuchaem-i-sozdaem-roli-roles-lesson-8 mht - Ansible: изучаем и создаем Роли (Roles). Lesson 8

RomNero
Всё что нужно знать по Ansible. Основы и не только
12 Ansible: Template. Шаблоны
13 Ansible: Roles. Создание ролей

Unix way
Ansible. Часть 1. Основы
Ansible. Часть 2. Playbook


выполнить uname -a на всех нодах в вашем инвентаре

$ ansible all -a "uname -a"

установить пакет vim на server1 из вашего инвентаря

$ ansible server1 -m apt -a "name=vim"

пробный прогон, чтобы увидеть, как ваша команда повлияет на серверы

$ ansible server1 -m apt -a "name=vim" --check

посмотреть uptime

$ ansible all -m shell -a "uptime"

посмотреть значение переменной ansible_host (из файла inventory)

ansible -i inventory/hosts.yaml -m debug -a "var=hostvars[inventory_hostname].ansible_host" all

Посмотреть всё интерфейсы

- name: Display all interfaces
  debug:
    msg: "{{ msg.split('\n') }}"
  vars:
    msg: |
        {% for iface in ansible_interfaces|sort %}
            System interface {{ iface }}
            {{ vars.ansible_facts[iface] | to_nice_json }}
        {% endfor %}

homedir пользователя

- name: Get user homedir
  shell: eval echo "~"
  register: homedir
  become: true
  become_user: "{{ environment_user }}"
  no_log: yes
  tags: [os]