admin 管理员组文章数量: 887007
本地Facts
我们可以通过Facts来获取目标主机的系统信息,当这些信息还不能满足我们的功能需要时,可以通过编写自定义的Facts模块来实现。当然,还有一个更简单的实现方法,就是通过本地Facts来实现。只需在目标设备 /etc/ansible/facts.d 目录自定义JSON、INI或可执行文件的JSON输出,文件扩展名要求使用 ".fact" ,这些文件都可以作为Ansible的本地Facts。
例如,在目标设备192.168.1.21定义三个变量,供以后playbook进行引用。
【 /etc/ansible/facts.d/preferences.fact 】
[general]
max_memory_size=32
max_user_processes=3730
open_files=65535
然后在主控端运行 ansible 192.168.1.21 -m setup -a "filter=ansible_local" filter作用是从setup输出的信息中摘出该 ansible_local 项。
可看到定义的结果,返回结果如下:
。。。
注意返回JSON的层次结构,preferences(facts文件名前缀)-->general(INI的节名)-->key:value(INI的键与值),最后就可以在我们的模板或playbook中通过以下方式进行调用:
{{ ansible_local.preferences.general.open_file }}
参考资料:
本文标签: 本地Facts
版权声明:本文标题:本地Facts 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732360844h1535168.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论