linux – 如何使用ansible找到第二个NIC的名称?

前端之家收集整理的这篇文章主要介绍了linux – 如何使用ansible找到第二个NIC的名称?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_1@我正在将一个带Ansible的东西部署到 Linux主机上,我需要它只能侦听主机上的第二个NIC.

查看可用的事实,我可以看到ansible_interfaces列出了我的所有NIC,例如

"ansible_interfaces": [
        "lo","ens9f0","ens9f1"
 ]

我知道它不是,所以我可以打折.通过查看ansible_default_ipv4.alias,我可以看到我的主要是ens9f0.

在剧本/剧本中,我怎么能算出ens9f1是次要的?

这个用例是我想在模板中执行以下操作:

Listen {{ ansible_second_nic.ipv4.address }}

我工作的每台机器可能有不同的NIC名称,所以我不能在我的角色中硬编码.从历史上看,我只假设eth1,但这不再安全.

解决方法

取ansible_interfaces,减去’lo’和ansible_default_ipv4.alias,取剩余列表的第一个元素:
- debug:
    msg: "{{ ansible_interfaces | difference(['lo',ansible_default_ipv4.alias]) | first }}"

猜你在找的Linux相关文章