В чем разница между Ansible Inventory Plugins и сценариями инвентаризации - PullRequest
0 голосов
/ 12 апреля 2020

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

1 Ответ

0 голосов
/ 16 апреля 2020

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

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

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

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

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

...