Spec-Zone.ru › Ansible 2.9

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

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

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

По умолчанию используется плагин кэширования memory, который кеширует данные только для текущего выполнения Ansible. Доступны другие плагины с постоянным хранилищем для кэширования данных между выполнениями.

Можно использовать отдельный плагин кэширования для инвентаризации и фактов. Если не указан плагин кэширования инвентаризации и включено кэширование инвентаризации, используется плагин кэширования фактов для инвентаризации.

Включение плагинов кэширования фактов

Одновременно может быть активен только один плагин кэширования фактов.

Включить плагин кэширования можно в конфигурации Ansible, либо через переменную среды:

export ANSIBLE_CACHE_PLUGIN=jsonfile

либо в файле ansible.cfg:

[defaults]
fact_caching=redis

Если плагин кэширования находится в коллекции, используйте полное имя:

[defaults]
fact_caching = namespace.collection_name.cache_plugin_name

Также необходимо настроить другие параметры, специфичные для каждого плагина. Подробности можно найти в документации к каждому плагину или в документации по Ansible конфигурации.

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

Включение плагинов кэширования инвентаризации

Инвентаризация может быть кэширована с помощью плагина кэширования на основе файлов (например, jsonfile). Проверьте конкретный плагин инвентаризации, чтобы узнать, поддерживает ли он кэширование. Плагины кэширования внутри коллекции не поддерживают кэширование инвентаризации. Если не указан плагин кэширования инвентаризации, 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

Подробности можно найти в документации к каждому плагину инвентаризации или в документации по Ansible конфигурации.

Использование плагинов кэширования

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

Список плагинов

Вы можете использовать ansible-doc -t cache -l для просмотра списка доступных плагинов. Используйте ansible-doc -t cache <plugin name> для просмотра конкретной документации и примеров.

  • jsonfile – Файлы в формате JSON
  • memcached – Использование базы данных memcached для кэширования
  • memory – Кэширование в оперативной памяти, не сохраняется
  • mongodb – Использование MongoDB для кэширования
  • pickle – Файлы в формате Pickle
  • redis – Использование базы данных Redis для кэширования
  • yaml – Файлы в формате YAML

См. также

Плагины действий
Плагины действий 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.9/plugins/cache.html

Spec-Zone.ru

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