Как запустить ansible playbook на одних и тех же хостах из разных групп - PullRequest
0 голосов
/ 06 апреля 2020

возможно ли создать такой ansible инвентарь, где можно выполнить задачу только в одной группе, в двух группах или во всех них, но внутри групп есть узлы, которые называются одинаковыми?

Псевдонимы для хоста такие же в группах, как в playbook, но в каждой группе есть разные переменные для каждого сервера и vm. Более того, для подключения к виртуальной машине с локального хоста необходимо использовать сервер в качестве Jumphost.

Сценарий должен выглядеть примерно так: Инвентарь:

[group1]
server
vm
[group2]
server
vm
[group3]
server
vm

Playbook:

- hosts: server
  tasks:
  - name: ....

- hosts: vm
  tasks:
  - name: ... 

1 Ответ

0 голосов
/ 06 апреля 2020

При наличии следующего инвентаря:

[server]
machine1.somewhere.com
machine2.somewhere.com
machine3.somewhere.com

[vm]
vm1.virtual.com
vm2.virtual.com
vm3.virtual.com

[group1]
machine1.somewhere.com
vm1.virtual.com

[group2]
machine2.somewhere.com
vm2.virtual.com

[group3]
machine3.somewhere.com
vm3.virtual.com

вы можете использовать вышеупомянутые леса Playbook и limit его использование для определенной c группы:

# All groups
ansible-playbook -i inventory.ini playbook.yml

# Group 1 only
ansible-playbook -i inventory.ini playbook.yml -l group1

# Group 1 and 3 
ansible-playbook- i inventory.ini playbook.yom -l group1:group3

Вы также можете использовать такие шаблоны для строфы hosts в своей игре. Подробнее о шаблонах см. в документации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...