ansible:获取ansible的主机信息

本文介绍了如何使用Ansible获取主机的各种信息,包括Ansible版本、主机名、主机短名、所有分组信息、特定分组详细信息、主机所属分组及未分组主机,同时提到了清单目录的获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1. 使用ansible_version获取ansible的版本信息

[root@server4 ~]# ansible testB -m debug -a "msg={{ansible_version}}"
server3 | SUCCESS => {
    "msg": {
        "full": "2.9.6", 
        "major": 2, 
        "minor": 9, 
        "revision": 6, 
        "string": "2.9.6"
    }
}

2. 使用inventory_hostname获取主机信息

[root@server4 ~]# cat /etc/ansible/hosts
[test-group]
172.25.60.5
testB.westos.com ansible_host=172.25.60.3
testC ansible_host=172.25.60.6

[root@server4 ~]# ansible test-group -m debug -a "msg={{inventory_hostname}}"  # 获取主机信息
[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to 
allow bad characters in group names by default, this will change, but still be 
user configurable on deprecation. This feature will be removed in version 2.10.
 Deprecation warnings can be disabled by setting deprecation_warnings=False in 
ansible.cfg.
[WARNING]: Invalid characters were found in group names but not replaced, use
-vvvv to see details
172.25.60.5 | SUCCESS => {
    "msg": "172.25.60.5"
}
testB.westos.com | SUCCESS => {
    "msg": "testB.westos.com"
}
testC | SUCCESS => {
    "msg": "testC"
}

3. 获取主机短信息:inventory_hostname_short

[root@server4 ~]# ansible test-group -m debug -a "msg={{inventory_hostname_short}}"
[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to 
allow bad characters in group names by default, this will change, but still be 
user configurable on deprecation. This feature will be removed in version 2.10.
 Deprecation warnings can be disabled by setting deprecation_warnings=False in 
ansible.cfg.
[WARNING]: Invalid characters were found in group names but not replaced, use
-vvvv to see details
172.25.60.5 | SUCCESS => {
    "msg": "172"
}
testB.westos.com | SUCCESS => {
    "msg": "testB"
}
testC | SUCCESS => {
    "msg": "testC"
}

4. 获取所有的groups清单信息

准备6台主机,并且免密(ssh-copy-id server2)
server4是ansible主机

[root@server4 ~]# vim /etc/ansible/hosts
172.25.60.2
testB.westos.com ansible_host=172.25.60.1
testC ansible_host=172.25.60.6

[testA]
test1 ansible_host=172.25.60.3
test2 ansible_host=172.25.60.5

[testB]
test3 ansible_host=172.25.60.4

[test:children]
testA
testB

[root@server4 ~]# ansible test1 -m debug -a "msg={{groups}}"
test1 | SUCCESS => {
    "msg": {
        "all": [
            "172.25.60.2", 
            "testB.westos.com", 
            "testC", 
            "test1", 
            "test2", 
            "test3"
        ], 
        "test": [
            "test1", 
            "test2", 
            "test3"
        ], 
        "testA": [
            "test1", 
            "test2"
        ], 
        "testB": [
            "test3"
        ], 
        "ungrouped": [
            "172.25.60.2", 
            "testB.westos.com", 
            "testC"
        ]
    }
}

5. 获取其中一个groups的清单信息groups.testA

[root@server4 ~]# ansible test1 -m debug -a "msg={{groups.testA}}"
test1 | SUCCESS => {
    "msg": [
        "test1", 
        "test2"
    ]
}

6. 查看某台主机属于哪个分组group_names

[root@server4 ~]# ansible test1 -m debug -a "msg={{group_names}}"
test1 | SUCCESS => {
    "msg": [
        "test", 
        "testA"

7. 获取所有未分组的主机

[root@server4 ~]# ansible test1 -m debug -a "msg={{groups.ungrouped}}"
test1 | SUCCESS => {
    "msg": [
        "172.25.60.2", 
        "testB.westos.com", 
        "testC"
    ]
}

8. inventory_dir:获取默认清单的存放路径

[root@server4 ~]# ansible test2 -m debug -a "msg={{inventory_dir}}"
test2 | SUCCESS => {
    "msg": "/etc/ansible"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值