1、Facts 变量简介
Ansible Facts是在一个被管理主机上通过ansible自动被发现的变量。facts包含特定的主机信息,这些主机信息可以像正常变量一样用在plays,conditionals,loops或者其它场景下,不同的应用场景取决于从被管理主机上采集的value类型。
- Facts变量不包含在全局变量、剧本变量及资产变量之内。
- Facts变量不需要我们人为去声明变量名及赋值。
- 它的声明和赋值完全有Ansible 中的 setup 模块帮我们完成。
- 它收集了有关被管理服务器的操作系统版本、服务器IP地址、主机名,磁盘的使用情况、CPU个数、内存大小等等有关被管理服务器的私有信息。
- 在每次PlayBook运行的时候都会发现在PlayBook执行前都会有一个Gathering Facts的过程。这个过程就是收集被管理服务器的Facts信息过程。
从被管理主机上可以搜集到facts包含:
- 主机名
- 内核版本
- 网卡
- 地址
- 操作系统版本
- 环境变量
- CPU的数量
- 可用内存或者空闲内容
- 可用磁盘空间
使用场景:
使用facts来检索被管理主机的状态是非常方便的,而且还可以基于这些状态做不同的动作,例如:
- 一个主机可以通过条件task判断如果系统的内核版本不匹配则重启切换