Q: «Как запустить playbook на« Jumphost »с созданными хостами и playbook из дистрибутивов?»
A: Возможно создание динамических c Инвентаризационные группы с модулем add_host
. Например, предположим, что мы хотим развернуть все хосты intr anet с диско Ubuntu.
Создать инвентарь
$ cat hosts
Host1 ansible_host=10.11.0.3
Host2 ansible_host=10.11.0.4
Host3 ansible_host=10.11.0.5
Host4 ansible_host=10.11.0.6
Создать книгу воспроизведения для развертывания хостов в группе my_ubuntu_disco_group
$ cat deploy-Ubuntu-disco.yaml
- hosts: my_ubuntu_disco_group
tasks:
- debug:
var: inventory_hostname
Запустите книгу воспроизведения, которая создает динамическую группу c и импортирует игру.
- hosts: all
tasks:
- add_host:
name: "{{ item }}"
groups: my_ubuntu_disco
loop: "{{ groups.all }}"
when:
- hostvars[item].ansible_distribution == 'Ubuntu'
- hostvars[item].ansible_distribution_release == 'disco'
run_once: true
- import_playbook: deploy-Ubuntu-disco.yaml