首页 > 解决方案 > 如何访问另一台服务器的 ansible 事实?

问题描述

我正在尝试访问与目标主机不同的主机的 Ansible 事实。以下是我的示例剧本。util但是当我运行下面的游戏时,没有为服务器收集事实。有人可以帮助我,我如何访问不同服务器的事实?

---
- hosts: build
  gather_facts: yes
  vars:
        dist: "{{  hostvars['util']['ansible_facts']['distribution'] }}"
  tasks:
     - name: Demo Magic variables
       debug:
           var: "{{ dist }}"

标签: ansible

解决方案


在使用它们之前,只需从所需的服务器收集所需的事实。最简单的解决方案:

---
- name: Gather facts from util server
  hosts: util

- name: Do our job
  hosts: build
  vars:
    dist: "{{ hostvars['util']['ansible_facts']['distribution'] }}"
  tasks:
    - name: Demo Magic variables
      debug:
        var: "{{ dist }}"

推荐阅读