Product SiteDocumentation Site

25.2. Playbook

Пример файла playbook install-client.yml, содержащего инструкции по развертыванию клиента FreeIPA:
---
- name: Playbook to configure IPA clients with username/password
  hosts: ipaclients
  become: true

  roles:
  - role: ipaclient
    state: present
Здесь:
  • Метод проверки пользователя:
    • строка hosts: ipaclients указывает раздел файла inventory/hosts, где скрипт ansible ищет полные доменные имена узлов, на которых должен быть запущен скрипт ipa-client-install;
    • строка become: true указывает, что скрипт ipa-client-install будет вызываться с правами суперпользователя (root);
    • строка role: ipaclient указывает роль, которая будет установлена на узле (в данном случае это роль клиента FreeIPA);
    • строка state: present указывает, что клиент должен быть установлен, а не удален (absent).
  • Возможность автоматической установки:
    • --unattended, -U — не запрашивать у пользователя информацию.
Роль ipaclient принимает параметр state, позволяющий настроить или отменить настройку клиента FreeIPA. Если роль вызывается с параметром state: present (или параметр state не определен) выполняется настройка клиента FreeIPA, а именно:
  • установка клиентских пакетов freeipa-client (имя пакета зависит от ОС, установленной на управляемом узле);
  • настройка клиента FreeIPA.
Пример файла playbook uninstall-client.yml, содержащего инструкции по удалению клиента FreeIPA:
---
- name: Playbook to unconfigure IPA clients
  hosts: ipaclients
  become: true

  roles:
  - role: ipaclient
    state: absent