Spec-Zone.ru › Ansible 2.11

Плагины кэширования

  • Включение плагинов кэширования фактов
  • Включение плагинов кэширования инвентаризации
  • Использование плагинов кэширования
  • Список плагинов

Плагины кэширования позволяют 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API