现在我们正在研究将这个木偶设置扩展到以下域:
> IP / DHCP管理
> APC配置
>交换机配置(通过SNMP,我们有Arista交换机)
>库存管理(服务器x在哪里运行?保修期有多长?)
是否有一个软件(开源或不重要)让我们实现这一目标?
我想它有一个关系数据模式,如服务器或交换机,可以通过web ui填写.然后,对于这4个点中的每一个,都有脚本从表中提取数据并将它们推送到设备.
对,为什么我们不为此傀儡呢?
我们很乐意,因为我们希望将所有配置集中在一个地方,但……
1 2可以在木偶中完成,但250个节点看起来像一个大傀儡清单的地狱.此外,我们希望很快通过木偶工头添加VM配置,因此“IP预订系统”需要“被动”,因此IMO需要在木偶之外.
由于开关尚未准备好用于木偶,因此可能无法实现3,
当我们在puppet中的节点层上方添加“硬件”层时,木偶可能有可能实现4.
有什么想法吗?
AFAIK Foreman已经走向了正确的方向,所以也许你应该开始玩这个.除此之外,请查看Custom Facts.它们是访问各种数据并使其在Puppet清单中可用的强大方法.例如.创建一个像$:: inventory_ipaddress这样的自定义事实,甚至用规范的用于配置的$:: ipaddress事实覆盖它.
对于1:对于大量主机,通常建议不要有数百个节点定义,而是有一组roles and profiles.
这里的一般设计挑战是从单一的事实来源到供应的清晰信息流.
对于2 3:你可以使用木偶来调用各种辅助脚本和工具,但我怀疑它是这项工作的最佳工具,因为它可能不是“真相的来源”.
4:这介于两者之间.我自己在EC2实例上使用puppet定期触发Zabbix库存更新并使用facter来填充例如角色,操作系统版本,安全组.请注意:我的规范性事实来源是一个配置工具,我的木偶表现在我可以改变设置的地方;另一方面,这个清单只是验证结果的最终结果.