将Ansible Playbook委托给第三台主机

问题描述 投票:0回答:1

我有一本剧本,将发行版本复制到Jumphosts,并准备配置文件以部署在远程服务器上。enter image description here

问题:import_playbook无法与delegate_to一起使用。如何在Jumphost上运行带有生成的主机和发行版中的剧本的剧本?

更新:我无法控制Jumphost,并且不能使用ssh转发。

configuration ansible remote-server
1个回答
0
投票

Q:“如何使用发行版中生成的主机和剧本在'Jumphost'上运行剧本?”

A:可以使用模块add_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

创建剧本以部署组my_ubuntu_disco_group中的主机

$ 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
© www.soinside.com 2019 - 2024. All rights reserved.