通过跳转主机通过拉取选项进行文件复制操作

时间:2019-05-24 11:49:35

标签: ansible ansible-2.x

在通过跳转主机推送的ansible剧本运行中获取文件。

可运行的剧本在主机上运行。主机是安全的(第2层),并且不能访问公共域,要访问公共域,需要有跳转主机。

剧本在受保护的主机上执行一组操作,需要将文件拉到公共url中。在Playbook运行中,需要切换跳转主机下载文件,将其委托给目标运行服务器,然后再切换回目标服务器以继续。

但是由于目标主机是由跳转主机访问的,并且通过目标主机无法访问跳转主机。

# .........
# .......setup code
# ..............

        - name: Get file
          block:       
            - name: transfer file to dest
              get_url: 
                url: "{{ public url}" 
                dest: "{{ home_dir }}"
                validate_certs: no

            - name: Move the file jump host to target host
              synchronize: 
                src: "{{ home_dir }}" 
                dest: "{{ home_dir }}"

          delegate_to: "{{ jump_host}}"
          when: tier == 't2'

# ....................
# .............continue  actions in target host

如果上述步骤是手动完成的 1)登录跳转主机 2)从公共网址下载文件 3)从主机跳转到目标服务器 4)从跳转主机使用ssh登录到目标服务器 5)继续操作。

由于目标主机防火墙未打开,因此可以通过跳转主机进行访问。上面的代码从目标主机访问跳转主机,这是反向操作。

因此要执行手动流程中提到的上述步骤

0 个答案:

没有答案