本文介绍了将事实收集到事实缓存的最快方式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使Ansible与--Limit一起工作,为此,我需要有关其他主机的事实,我正在使用FACT_CACHING对其进行缓存。我应该运行什么命令才能简单地收集所有主机上的所有事实并将其缓存,而不运行任何任务?如果setup module缓存它收集的事实,那么像setup module这样的东西将是完美的,但它似乎没有。

推荐答案

以下是我解决问题的方法:

1.-在您的行动手册(site.yml)上启用事实收集:

gather_facts: yes

2.-在ansible.cfg:

上启用facts caching

2.1.-选项1-如果您有时间安装Redis,请使用此选项:

[defaults]
gathering = smart
fact_caching = redis

# two hours timeout
fact_caching_timeout = 7200

2.2.-选项2-立即使用此选项进行测试简单,但比redis慢:

[defaults]
gathering = smart
fact_caching = jsonfile
fact_caching_connection = /tmp/facts_cache

# two hours timeout
fact_caching_timeout = 7200
3.-更新或创建事实缓存。为此,创建一个只有一个任务的新角色(cache-update):执行ping。我们使用ping是因为它是最简单、最快的可执行任务,因此它将帮助我们非常快速地更新缓存:

- name: Pinging server to update facts cache
  ping:

问候,

这篇关于将事实收集到事实缓存的最快方式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-18 19:38