如何将文件下载到 Ansible 控制器而不是远程机器?

khm*_*ise 5 ansible

我有两台机器。一个是 Ansible 控制器,我可以在其中执行我的剧本,另一个是target我想要安装/更新的远程计算机 ( )。重要的是控制器在公司网络内运行,但在target该网络外部(只能通过 ssh 访问)。

因此,我需要下载一个文件(从公司网络内)并将其复制到target节点。

我尝试使用:ansible.builtin.get_url下载文件,但不幸的是它会在远程(target)计算机上执行此操作,该计算机当然无法访问公司网络。

有人有提示/想法吗?

更新:使用ansible [核心2.11.6]

U88*_*80D 9

要将某些内容下载到本地 Ansible 控制器,您可以使用以下方法。

- name: Download something to Ansible Controller
  delegate_to: localhost
  get_url:
    url: "https://{{ ansible_user }}:{{ ansible_password }}@files.example.com/installer.rpm"
    dest: "/tmp/{{ ansible_user }}"
    owner: "{{ ansible_user }}"
  tags: download,local
Run Code Online (Sandbox Code Playgroud)

请注意,控制任务运行位置:委托和本地操作delegate_to不是模块的参数,get_url而是任务的参数。