Spec-Zone.ru › Ansible 2.10

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

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

Плагины кэширования позволяют Ansible хранить собранные факты или данные источников инвентаря без потери производительности при их извлечении из источника.

По умолчанию используется плагин кэширования памяти, который кэширует данные только для текущего выполнения 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

Чтобы кэшировать инвентарь с помощью пользовательского плагина в вашем пути плагинов, следуйте руководству разработчика по плагинам кэширования.

Чтобы кэшировать инвентарь с помощью плагина кэширования в коллекции, используйте FQCN:

[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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/plugins/cache.html

Spec-Zone.ru

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