gpt4 book ai didi

ansible - 如何在 Ansible 中获取主机私有(private)网络地址

转载 作者:行者123 更新时间:2023-12-02 06:15:37 25 4
gpt4 key购买 nike

我试过这样的事情:

gather_facts: yes
tasks:
- debug: var=ansible_all_ipv4_addresses
- set_fact:
man_ip: "{{ item }}"
with_items: ansible_all_ipv4_addresses
when: "item.startswith('10.')"
- debug: var=man_ip

它可以工作,但是我使用 docker 的服务器有问题,因为 docker 容器也有以 10.x.x.x 开头的接口(interface)地址.

那么,如何获取主机私网地址呢?

最佳答案

您可以使用 ansible_all_ip_addresses事实和 ipaddr筛选。

{{ ansible_all_ipv4_addresses | ipaddr('private') | first }}

注意:您可以通过 ansible -m setup localhost 查看您有哪些可用的事实。

编辑:您也可以使用 ipaddr 按 ip 过滤
{{ ansible_all_ipv4_addresses | ipaddr('10.0.0.0/8') | first }}

关于ansible - 如何在 Ansible 中获取主机私有(private)网络地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34730239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com