Ansible Facts
Ansible Facts是Ansible从受管主机自动探查到的变量
Ansible Facts由setup模块调取,其中包含的信息储存到可重复使用的变量中
借助Ansible Facts,可以方便的检索受管节点的状态,并根据其状态决定要执行的操作
事实提供如下相关信息:
主机名称
内核版本
网络接口
IP
操作系统版本
各种环境变量
CPU数量
提供或可用的内存
可用的磁盘空间
。。。
Ansible Facts可以成为playbook的一部分:
- 可以根据当前内核版本来重新启动服务器
- 可以根据可用的内存来定义MySQL配置文件
- 可以根据主机名来创建用户
--- - name: facts hosts: dev tasks: - name: debug debug: msg: > The default IPv4 address of {{ ansible_facts.fqdn }} is {{ ansible_facts.default_ipv4.address }}
命令格式
ansible localhost -m setup [-a "filter=facts_field"]
输出以JSON格式返回,每个值都存在一个Python字典中,管理员而后可以浏览字典来检索特定值:
- 主机名:{{ ansible_hostname }}
- IPv4: {{ ansible_default_ipv4.address }}
- 主磁盘第一分区大小:{{ ansible_device.vda.partitions.vda1.size }}
- DNS: {{ ansible_dns.nameservers }}
- 内核版本: {{ ansible_kernel }}
Facts开关
facts在playbook中默认启用,可以手动关闭
--- - name: test hosts: dev gather_facts: false tasks: - ....