1. 输出结果为: "msg": [ "x86_64", "x86_64", "x86_64" ] 1. 2. 3. 4. 5. 同理,如果我想查询三个节点的ip地址放到一个列表内,可以这样写: {{ groups['nodes'] | map ('extract',hostvars,['ansible_default_ipv4','address']) | list }} 1. 输出结果为: "msg": [ "10.211.55.7...
{{ ansible_eth0.ipv4.address }} 类似的,我们可以访问如下的方式访问数组中的第一个元素: {{ foo[0] }} 1. Magic Variables, and How To Access Information About Other Hosts 魔法变量,以及如何访问其他主机的信息 Ansible会自动提供给你一些变量,即使你并没有定义过它们。这些变量中重要的有 ‘hostvars’...
# - name: share_user # prompt: "input share_user" tasks: - block - name: restart acpid service service: name=acpid state=restarted - name: get the network connection ip shell: | ping -c 2 "{{ hostvars[item[0]]['ansible_' + item[1]].ipv4.address }}" register: netinfo ignore_e...
**hostvars[swarm-01]['ansible_eth0']**: 通过上面的动态键名,获取存储在 swarm-01 主机中的 ansible_eth0 变量。这通常是一个字典,包含关于 eth0 接口的信息。 **['ipv4']['address']**: 'ipv4' 是一个嵌套字典,通常包含该网络接口的 IPv4 地址等信息。 ['address'] 获取这个字典中的 address 字段...
[root@ansible ~]# ansible-inventory --list { "_meta": { "hostvars": { "172.16.60.205": {}, "172.16.60.206": {}, "172.16.60.207": {}, "172.16.60.212": {}, "172.16.60.213": {}, "172.16.60.214": {}, "172.16.60.220": {}, "172.16.60.221": {}, "172.16.60.222": {} } ...
ansible会自动在当前目录下寻找变量文件,主机变量文件在hostvars目录中,主机组变量文件在groups_vars中。 在指定目录中创建与inventory中定义的主机/主机组同名的文件,文件中的变量会应用于对应的主机/主机组 变量矩阵 如果一个变量的值是一个列表,列表中的值还是一个列表,那么就称之为变量矩阵,类似python中的字典嵌套...
--- - hosts: dbserver tasks: - debug: msg="{{hostvars['172.16.60.21'].ansible_eth0.ipv4.address}}" 执行结果如下: TASK [debug] *** ok: [172.16.60.21] => { "msg": "172.16.60.21" } ok: [172.16.60.22] => { "msg": "172.16.60.21" } ok: [172.16.60.23] => { "msg": "1...
ansible除了inventory中内置的一堆不可被引用的设置类变量,还有几个全局都可以引用的内置变量,主要有以下几个:inventory_hostname、inventory_hostname_short、groups、group_names、hostvars、play_hosts、inventory_dir和ansible_version。 1)inventory_hostname 和 inventory_hostname_short分别代表的是inventory中被控节点...
playbook内容如下:---hosts:centos7 tasks:-debug:msg="{{hostvars['192.168.100.63'].ansible_eth0.ipv4.address}}"# 执行结果TASK[debug]***ok:[192.168.100.63]=>{"msg":"192.168.100.63"}ok:[192.168.100.64]=>{"msg":"192.168.100.63"}ok:[192.168.100.65]=>{"msg":"192.168.100.63"}但注意,在...
IP地址:可以使用ansible_default_ipv4.address变量来获取Ansible控制器主机的IP地址。例如,在Ansible Playbook中,可以使用{{ ansible_default_ipv4.address }}来引用IP地址。 需要注意的是,以上变量仅适用于Ansible控制器主机本身。如果需要获取其他主机的主机名或IP地址,可以使用Ansible的动态主机发现功能或在主机清单文件...