Ansible中內建变量的使用
Ansible
是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。在Ansible
中,我们也可以使用变量以提高Ansible
针对不同场景下使用的灵活性。
Ansible
使用的变量包括两种,內建变量和自定义变量。本文针对Ansible
的內建变量的使用进行简单介绍。
Ansible
的內建变量通常需要Ansible
获取远程节点信息后自动构建而成,且该变量的值只对当前远程节点有效。我们可以使用Ansible
的setup
模块查看指定节点的內建变量信息:
[root@Centos7T ~]#ansible 192.168.25.51 -m setup
192.168.25.51 | SUCCESS => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [
"172.18.42.51",
"192.168.25.51"
],
"ansible_all_ipv6_addresses": [
"fe80::304e:2290:cb61:914a",
"fe80::250:56ff:fe2e:8595"
],
"ansible_apparmor": {
"status": "disabled"
},
"ansible_architecture": "x86_64",
"ansible_bios_date": "07/02/2015",
"ansible_bios_version": "6.00",
"ansible_cmdline": {
"BOOT_IMAGE": "/vmlinuz-3.10.0-514.el7.x86_64",
"LANG": "en_US.UTF-8",
"crashkernel": "auto",
"quiet": true,
"rhgb": true,
"ro": true,
"root": "UUID=02a69ee0-ceeb-43a3-b28a-49f042d51373"
},
…… ……
我们可以配置grep
命令查找我们需要的內建变量:
[root@Centos7T ~]#ansible 192.168.25.51 -m setup | grep "mem"
"ansible_memfree_mb": 295,
"ansible_memory_mb": {
"ansible_memtotal_mb": 976,
[root