6.17. 事实缓存的好处
事实缓存可让您通过运行事实收集来节省时间。如果您在某个作业中有一个针对一千个主机和分叉运行的 playbook,您可以花费 10 分钟在所有这些主机上收集事实。但是,如果您定期运行作业,第一次运行会缓存这些事实,下一次运行会从数据库中拉取它们。这可减少针对大型清单(包括智能清单)的作业运行时。
注意
不要更改 ansible.cfg 文件以应用事实缓存。自定义事实缓存可能会与控制器的事实缓存功能冲突。您必须使用包含自动化控制器的事实缓存模块。
您可以选择在创建或编辑作业模板时检查 Enable fact 存储 选项来在作业中使用缓存的事实。
若要清除事实,请运行 Ansible clear_facts
meta 任务。以下是使用 Ansible clear_facts
meta 任务的示例 playbook。
- hosts: all gather_facts: false tasks: - name: Clear gathered facts from all currently targeted hosts meta: clear_facts
- hosts: all
gather_facts: false
tasks:
- name: Clear gathered facts from all currently targeted hosts
meta: clear_facts
您可以在以下找到事实缓存的 API 端点:
http://<controller server name>/api/v2/hosts/x/ansible_facts