Ansible 高级特性深度解析与实践
1. Ansible 远程事实(Remote Facts)
1.1 远程事实概述
Ansible 中的远程事实是一种通过显式配置文件或返回服务器数据的脚本,来指定远程主机配置的方法。这一特性在维护等操作中非常有用,例如设置标志将主机标记为不在资源池中,使 playbook 对这些主机不产生影响。
1.2 获取远程主机事实
可以使用以下命令获取远程主机的所有已知事实(假设之前示例中的清单文件存在于当前文件夹,且虚拟机在 Google Cloud Platform 上运行):
ansible all -m setup -i inventory --user=root
该命令将输出大量 JSON 格式的数据,包含 CPU 类型、机器 ID、网络接口、内核版本等信息。这些事实可以在 playbook 中使用,还能通过远程主机控制添加更多数据,而无需本地配置。
1.3 设置自定义远程事实
自定义远程事实默认在 /etc/ansible/facts.d/ 目录下的 JSON 文件中定义,也可以在该目录下创建可执行脚本,Ansible 会执行脚本并将输出作为事实添加到事实范围中。
1.3.1 使用 JSON 文件定义自定义事实
创建一个文件 /etc/ansible/facts.d/example.facts ,内容如下:
Ansible高级特性解析与实战
超级会员免费看
订阅专栏 解锁全文
28

被折叠的 条评论
为什么被折叠?



