Spec-Zone.ru › Ansible 2.8

Плагины кэша

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

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

Spec-Zone.ru

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