我们的基础设施:我们运行一个约250个节点的木偶大师(大约100个硬件服务器)。 节点本身的操作系统完全被木偶化。
现在我们正在考虑将这个木偶设置扩展到以下领域:
有没有一个软件(开源或无所谓),让我们实现这一目标? 我想它有一个关系数据模式,如server或switch ,可以通过Web UI填写。 然后,对于这四个点中的每一个,都有脚本从表中提取数据并将其推送到设备。
我们很乐意,因为我们想要在一个地方有所有的configuration,但…
1 + 2 可以在傀儡中完成,但是250个节点看起来像是一个大傀儡地狱的地狱。 另外,我们希望通过puppet领class很快添加虚拟机configuration,所以“IP保留系统”需要“被动”,因此IMO需要在傀儡之外。
3可能是不可能的,因为交换机还没有准备好傀儡,
当我们在傀儡的节点层上面添加一个“硬件”层时,4可能与puppet是可能的 。
有什么想法吗?
AFAIK工头已经走向正确的方向,所以也许你应该开始玩这个。
除此之外,请参阅“自定义事实” 。 它们是访问各种数据并使其在Puppet清单中可用的强大方式。 例如创build一个像$::inventory_ipaddress这样的自定义事实,甚至用标准的$::ipaddress覆盖$::ipaddressconfiguration。
对于1:对于大量的主机,通常build议不要有数百个node定义,而是有一组angular色和configuration文件 。
这里的总体devise挑战是要从单一的真实来源获得清晰的信息stream。
对于2 + 3:你可以用木偶来称呼各种辅助脚本和工具,但我怀疑这是工作的最佳工具,因为它可能不是“真相的源泉”。
4:这是介于两者之间的地方。 我自己使用EC2实例的puppet来定期触发Zabbix库存更新,并使用facter来填充angular色,操作系统版本,安全组等。 警告:我的真实规范来源是configuration工具,我的木偶可以在那里改变设置; 另一方面,这个清单只是validation结果的最终结果。
可以在交换机上使用在EOS操作系统上运行的Puppet来configurationArista交换机。 Arista甚至提供了一个如何安装Puppet的教程: 在EOS上安装Puppet所以这不是一个问题。
对于库存任务(知识产权,地点,保修),我会推荐Zabbix。