Плагины кэша
- Включение плагинов кэша фактов
- Включение плагинов кэша инвентаризации
- Использование плагинов кэша
- Список плагинов
Плагины кэша реализуют механизм кэширования на уровне бэкенда, что позволяет 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
- 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.8/plugins/cache.html