В чем разница между подключаемыми модулями Ansible Inventory и скриптами инвентаризации

В большинстве учебных пособий, которые я нашел в Интернете, обсуждается использование скриптов для динамических инвентаризаций.
Ansible рекомендует использовать плагины для динамических инвентаризаций, но даже в Ansible Tower есть возможность создавать скрипты инвентаризации, но ничего в плагинах.


person Doc    schedule 12.04.2020    source источник


Ответы (1)


На странице разработки в документации Ansible это очень хорошо описывает разницу.

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

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

Как и большинство типов плагинов (кроме модулей), они должны разрабатываться на Python, поскольку они выполняются на контроллере, они должны соответствовать тем же требованиям Требования к управляющему узлу.

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

person Tahvok    schedule 15.04.2020