首页 > 解决方案 > Ansible Inventory 插件和清单脚本有什么区别

问题描述

我在网上找到的大多数教程都讨论了使用动态清单的脚本。
Ansible 建议对动态清单使用插件,但即使在 Ansible Tower 中,也可以选择创建清单脚本,但插件上没有。

标签: ansibleansible-inventoryansible-tower

解决方案


在 Ansible 文档的开发页面上,它很好地描述了差异。

在以前的版本中,您必须创建一个脚本或程序,以便在使用正确的参数调用时以正确的格式输出 JSON。您仍然可以使用和编写清单脚本,因为我们通过脚本清单插件确保了向后兼容性,并且对使用的编程语言没有限制。但是,如果您选择编写脚本,则需要自己实现一些功能。即缓存、配置管理、动态变量和组组合等。使用清单插件时,您可以利用 Ansible 代码库添加这些常用功能。

因此,虽然库存插件可能听起来很吸引人,因为它自动提供了许多额外的库存功能,但也有一些限制:

与大多数插件类型(模块除外)一样,它们必须在 Python 中开发,因为它们在控制器上执行,它们应该符合相同的控制节点要求。

问题是,对于某些系统来说,使用 python 和所有 ansible 要求开发插件可能非常困难。有些甚至可能提供其他语言的工作脚本,可以简单地调整为 ansible,因此用户可能更容易简单地使用他们熟悉的脚本。


推荐阅读