Плагины кэширования
- Включение плагинов кэширования фактов
- Включение плагинов кэширования инвентаризации
- Использование плагинов кэширования
- Список плагинов
Плагины кэширования позволяют 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, или в сборке, а затем ссылайтесь на него по полному имени.
Вам также необходимо настроить другие параметры, специфичные для каждого плагина. Для получения дополнительной информации обратитесь к документации по конкретному плагину или к конфигурации 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
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/plugins/cache.html