Выполнять инструкции для определенных клиентов ansible

#ansible #ansible-2.x

Вопрос:

У меня есть многоструктурированный yml-справочник Ansible с 6 инструкциями и 2 клиентскими машинами, подключенными к серверу ansible. Я хочу выполнить 3 инструкции на клиенте 1 и 3 на клиенте 2. оба клиента, с их псевдонимами, находятся в EOF(файл узла ansible) Я не использую никаких групп. Как я могу выполнить конкретную инструкцию на конкретных машинах.

Ниже приведены мои клиенты в файле хоста ansible:

 client1 ansible_host=192.168.0.150 ansible_connection=ssh ansible_port=22 ansible_user=root ansible_ssh_pass=password

client2 ansible_host=192.168.0.110 ansible_connection=ssh ansible_port=22 ansible_user=root ansible_ssh_pass=password
 

Ответ №1:

Вы можете использовать hosts: переменную в своей игре, чтобы указать, где выполнять задачи:

 ---
- name: demo 1
  hosts: client1
  tasks:
    - name: ping
      ping:

- name: demo 2
  hosts: client2
  tasks:
    - name: ping
      ping: