Кеширование#

Расширения кеширования (cache plugins) позволяют Ansible сохранять собранные факты или данные описания инвентаря между запусками. Это уменьшает нагрузку на источники данных, избавляя от необходимости повторно собирать одну и ту же информацию.

В Ansible Core доступны следующие расширения кеширования:

  • memory – кеширует данные только в рамках текущего запуска Ansible;

  • jsonfile – сохраняет кешируемые данные в виде файлов формата JSON и может использоваться между запусками.

Подробное описание расширений приведено в справочнике.

Вы можете использовать разные расширения для кеширования описания инвентаря и фактов.

Кеширование фактов#

Кеширование фактов включено по умолчанию. Одновременно может быть активно только одно расширение для кеширования фактов. По умолчанию используется расширение memory.

Чтобы выбрать расширение, используйте один из следующих способов:

  • Конфигурационный файл ansible.cfg:

    [defaults]
    fact_caching = ansible.builtin.jsonfile
    
  • Переменную окружения ANSIBLE_CACHE_PLUGIN.

Кеширование описания инвентаря#

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

  • Конфигурационный файл ansible.cfg:

    [inventory]
    cache = True
    cache_plugin = ansible.builtin.jsonfile
    
  • Переменные окружения:

    export ANSIBLE_INVENTORY_CACHE=True
    export ANSIBLE_INVENTORY_CACHE_PLUGIN=ansible.builtin.jsonfile
    

Примечание

Если вы включите кеширование описания инвентаря, но не выберите конкретное расширение для кеширования, Ansible по умолчанию использует расширение для кеширования фактов.