Spec-Zone.ru › Ansible

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

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

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

Spec-Zone.ru

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