- Включение плагинов кэширования фактов
- Включение плагинов кэширования инвентаризации
- Использование плагинов кэширования
- Список плагинов
Плагины кэширования
Плагины кэширования реализуют механизм кэширования на бэкенде, который позволяет Ansible хранить собранные факты или данные источника инвентаризации без потери производительности при их получении из источника.
По умолчанию используется плагин кэширования memory, который кэширует данные только для текущего выполнения Ansible. Другие плагины с постоянным хранилищем доступны для кэширования данных между запусками.
Можно использовать отдельный плагин кэширования для инвентаризации и фактов. Если плагин кэширования инвентаризации не указан и кэширование инвентаризации включено, для инвентаризации используется плагин кэширования фактов.
Включение плагинов кэширования фактов
Одновременно может быть активен только один плагин кэширования фактов.
Включить плагин кэширования можно в конфигурации Ansible, либо через переменную окружения:
export ANSIBLE_CACHE_PLUGIN=jsonfile
либо в файле ansible.cfg:
[defaults] fact_caching=redis
Также потребуется настроить другие параметры, специфичные для каждого плагина. Обратитесь к документации по конкретному плагину или к 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
- #ansible IRC чат-канал
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/plugins/cache.html