Nik*_*kos 2 networking ansible
我目前面临着我的 ansible 角色的问题,实际上我的 ansible 角色在 Linux 上安装了 NRPE 服务器。
在某些情况下,这些服务器有多个 NIC,需要将 NRPE 服务器绑定到一个特定的 NIC(专用于监控网络)。
我的目标是检索指定网卡的 IP 地址(这是一个变量,有时它可能是另一个网卡)并将该 IP 设置为我的 nrpe.cfg 中的 server_address 选项。
经过一些研究、尝试和错误,ansible_fact 似乎是收集这些信息的方法。我想我必须注册一个变量才能与我的 jinja2 模板一起使用。
我的主要问题是如何从指定的 NIC (enp0s8) 检索 IP 地址。
感谢您的建议。
问候,
尼科斯
如果您的剧本有gather_facts: yes
或者您setup
在剧本中运行任务,则应该有一个类似的变量可用。
- debug:
var: ansible_enp0s8.ipv4.address
Run Code Online (Sandbox Code Playgroud)
如果您想查看通常发现的所有可能的变量,请运行如下命令ansible some-hostname -m setup
。
我尝试构建以下变量 {{ ansible_{{ nrpe_address_server }}.ipv4.address }} 它不起作用
您不在表达式内使用 {{}},或者换句话说,您不能嵌套它们。
您可能需要的是这样的东西。
- debug:
var: hostvars[inventory_hostname]['ansible_'~nrpe_address_server].ipv4.address
Run Code Online (Sandbox Code Playgroud)
使用 [] 语法允许您使用动态数据访问特定变量。is~
连接字符串。
归档时间: |
|
查看次数: |
14157 次 |
最近记录: |