Configuration 将ansible剧本委托给第三方主持人

Configuration 将ansible剧本委托给第三方主持人,configuration,ansible,remote-server,Configuration,Ansible,Remote Server,我有一个playbook,它将分发版复制到Jumphosts,并准备配置文件以部署到远程服务器上。 问题:import\u playbook不能与delegate\u to一起使用。如何在Jumphost上使用发行版中生成的主机和playbook运行playbook 更新:我无法控制Jumphost,也无法使用ssh转发 问:“如何使用发行版生成的主机和playbook在“Jumphost”上运行playbook?” 答:可以使用模块add\u host创建动态库存组。例如,假设我们要部署所有

我有一个playbook,它将分发版复制到
Jumphosts
,并准备配置文件以部署到远程服务器上。

问题:
import\u playbook
不能与
delegate\u to
一起使用。如何在
Jumphost
上使用发行版中生成的主机和playbook运行playbook

更新:我无法控制
Jumphost
,也无法使用ssh转发

问:“如何使用发行版生成的主机和playbook在“Jumphost”上运行playbook?”

答:可以使用模块
add\u host
创建动态库存组。例如,假设我们要部署所有运行Ubuntu disco的intranet主机

创建库存

$ 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
创建一个playbook来部署组中的主机
my_ubuntu\u disco\u组

$ cat deploy-Ubuntu-disco.yaml
- hosts: my_ubuntu_disco_group
  tasks:
    - debug:
        var: inventory_hostname
运行创建动态组的剧本并导入剧本

- 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