Плагины кэширования
- Включение плагинов кэширования фактов
- Включение плагинов кэширования инвентаризации
- Использование плагинов кэширования
- Список плагинов
Плагины кэширования позволяют Ansible хранить собранные факты или данные источника инвентаризации без потери производительности при их получении из источника.
По умолчанию используется плагин кэширования memory, который кэширует данные только для текущего выполнения Ansible. Доступны другие плагины с постоянным хранилищем, позволяющие кэшировать данные между запусками. Некоторые из этих плагинов кэшируют данные в файлы, другие — в базы данных.
Вы можете использовать разные плагины кэширования для инвентаризации и фактов. Если вы включили кэширование инвентаризации без указания конкретного плагина кэширования инвентаризации, Ansible использует плагин кэширования фактов как для фактов, так и для инвентаризации.
Включение плагинов кэширования фактов
Кэширование фактов всегда включено. Однако одновременно может быть активен только один плагин кэширования фактов. Вы можете выбрать плагин кэширования для кэширования фактов в конфигурации Ansible, либо с помощью переменной среды:
export ANSIBLE_CACHE_PLUGIN=jsonfile
либо в файле ansible.cfg:
[defaults] fact_caching=redis
Если плагин кэширования находится в коллекции, используйте полное квалифицированное имя:
[defaults] fact_caching = namespace.collection_name.cache_plugin_name
Чтобы включить пользовательский плагин кэширования, сохраните его в каталоге cache_plugins рядом с вашим плейлистом, внутри роли или в одном из каталогов-источников, настроенных в ansible.cfg.
Вам также необходимо настроить другие параметры, специфичные для каждого плагина. Для получения более подробной информации обратитесь к документации по конкретному плагину или к 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
Чтобы кэшировать инвентаризацию с помощью пользовательского плагина в вашем пути к плагинам, следуйте руководству разработчика по плагинам кэширования разработки плагинов кэширования.
Для кэширования инвентаризации с помощью плагина кэширования в коллекции используйте полное квалифицированное имя:
[inventory] cache_plugin=collection_namespace.collection_name.cache_plugin
Если вы включите кэширование для плагинов инвентаризации без выбора плагина кэширования, специфичного для инвентаризации, Ansible вернётся к кэшированию инвентаризации с помощью плагина кэширования фактов, который вы настроили. Для получения более подробной информации обратитесь к документации по конкретному плагину инвентаризации или к Ansible конфигурации.
Использование плагинов кэширования
Плагины кэширования используются автоматически после их включения.
Список плагинов
Чтобы увидеть список доступных плагинов, используйте ansible-doc -t cache -l. Чтобы получить доступ к документации и примерам по конкретному плагину, используйте ansible-doc -t cache <plugin name>.
См. также
- Плагины действий
-
Плагины действий Ansible
- Плагины обратного вызова
-
Плагины обратного вызова Ansible
- Плагины подключения
-
Плагины подключения Ansible
- Плагины инвентаризации
-
Плагины инвентаризации Ansible
- Плагины оболочки
-
Плагины оболочки Ansible
- Плагины стратегии
-
Плагины стратегии Ansible
- Плагины переменных
-
Плагины переменных Ansible
- Список рассылки пользователей
-
Есть вопросы? Заходите на форум!
- webchat.freenode.net
-
IRC-чат-канал #ansible
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/plugins/cache.html