缓存插件
缓存插件允许 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
或者,如果清单插件接受 YAML 配置源,则可以在配置文件中启用
# dev.aws_ec2.yaml
plugin: aws_ec2
cache_plugin: jsonfile
要使用插件路径中的自定义插件缓存清单,请遵循关于缓存插件的开发人员指南。
要使用集合中的缓存插件缓存清单,请使用 FQCN
[inventory]
cache_plugin=collection_namespace.collection_name.cache_plugin
如果在未选择特定于清单的缓存插件的情况下为清单插件启用缓存,则 Ansible 将回退到使用您配置的事实缓存插件来缓存清单。有关更多详细信息,请参阅各个清单插件文档或 Ansible 配置。
使用缓存插件
启用后,缓存插件会自动使用。
插件列表
您可以使用 ansible-doc -t cache -l
查看可用插件的列表。使用 ansible-doc -t cache <插件 名称>
查看插件特定的文档和示例。
另请参阅
- Action 插件
Action 插件
- Callback 插件
Callback 插件
- Connection 插件
Connection 插件
- Inventory 插件
Inventory 插件
- Shell 插件
Shell 插件
- Strategy 插件
Strategy 插件
- Vars 插件
Vars 插件
- 沟通
有问题?需要帮助?想分享你的想法?请访问 Ansible 沟通指南