缓存插件

缓存插件允许 Ansible 存储收集到的事实或仓库源数据,而消除从数据源检索的影响性能。

默认缓存插件是只会缓存 Ansible 当前执行数据的内存插件。其他带有持久存储的插件,可用于允许跨运行数据的缓存。这些缓存插件有的会写入文件,而其他的会写入数据库。

对于仓库与事实,咱们可使用不同的缓存插件。若咱们在未设置某种特定于仓库的缓存插件下,启用了仓库缓存,Ansible 就会对事实和仓库,同时使用事实缓存插件。如有必要,咱们可 创建定制的缓存插件

启用事实缓存插件

事实缓存始终是启用的。不过,同一时间只能有一种事实缓存插件,处于活动状态。咱们既可在 Ansible 配置文件中,选择用于事实缓存的缓存插件,也可以一个环境变量选择:

export ANSIBLE_CACHE_PLUGIN=jsonfile

或在 ansible.cfg 文件中:

[defaults]
fact_caching=redis

若缓存插件是在某个专辑种,就要使用完全限定名字:

[defaults]
fact_caching = namespace.collection_name.cache_plugin_name

要启用某个定制缓存插件,就要将其保存在 ansible.cfg 中配置的目录来源之一,或某个专辑中,然后通过完全限定专辑名字, FQCN,引用他。

咱们还需配置特定于各个插件的其他设置项。详情请查阅各个插件的文档,或 Ansible 配置

启用仓库缓存插件

仓库缓存默认是关闭的。要缓存仓库数据,咱们必须启用仓库缓存,然后选择咱们要使用的特定缓存插件。并非所有仓库插件都支持缓存,因此要检视咱们打算使用的仓库插件文档。咱们可以一个环境变量,启用仓库缓存:

export ANSIBLE_INVENTORY_CACHE=True

或者在 ansible.cfg 文件中:

[inventory]
cache=True

或在仓库插件接受 YAML 的配置来源时,在其配置文件中:

# dev.aws_ec2.yaml
plugin: aws_ec2
cache: True

同一时间只能有一种仓库缓存插件是活动的。咱们可以一个环境变量设置他:

export ANSIBLE_INVENTORY_CACHE_PLUGIN=jsonfile

或在 ansible.cfg 文件中:

[inventory]
cache_plugin=jsonfile

要使用咱们插件路径中的某个定制插件缓存仓库,请依照 缓存插件的开发人员指南

要使用某专辑中的某个缓存插件缓存仓库,请使用完全限定专辑名字:

[inventory]
cache_plugin=collection_namespace.collection_name.cache_plugin

若咱们在没有选取某个特定于仓库的缓存插件下,启用了仓库缓存,那么 Ansible 会退回到使用咱们配置的事实缓存插件,缓存仓库。详情请查阅单个仓库插件文档,或 Ansible 配置

使用缓存插件

一旦缓存插件被启用,他们会自动被用到。

插件列表

咱们可使用 ansible-doc -t cache -l 命令查看可用插件的列表。使用 ansible-doc -t cache <plugin name> 查看特定插件的文档与示例。

(End)

Last change: 2025-02-21, commit: 0737b2a

小额打赏,赞助 xfoss.com 长存......

微信 | 支付宝

若这里内容有帮助到你,请选择上述方式向 xfoss.com 捐赠。