如何处理 Linux 发行版之间的 Puppet 版本差异

Mar*_*els 4 package-management ubuntu rpm puppet epel

我们是一家小型网络开发商店,正在研究在各种开发和生产服务器上推出 Puppet。

puppetmaster 是一个带有 Puppet 0.25.4 的 Ubuntu 10.04 服务器,来自 Ubuntu 的 repo。一些 puppet 客户端是带有 puppet 0.25.4 的 Ubuntu,但其他一些基于 RedHat 或 Centos 并且使用 EPEL 存储库,它提供 puppet 0.25.5 包。

这些较新的客户端无法与“较老”的 puppetmaster 交谈,因此我可以升级 master 或降级客户端。但是我找不到将客户端降级到 0.25.4 的 rpm。构建我自己的包是一件我可以做的苦差事,因为我是公司的唯一系统管理员。

您如何处理异构环境中不同的客户端/服务器版本?

Dan*_*ley 7

我建议尽可能使用最新的稳定版puppetmasterd。当时机成熟时,它将极大地简化升级客户的过程。这种相对年轻和快速发展的项目通常会频繁地为功能和错误修复生成小版本,这可以证明是无价的。当然,您仍然应该认真阅读每个 ChangeLog,以在升级期间预先排除任何可能影响您的环境的内容。

打包您自己的版本不应该那么困难,而且这是一项技能,将来您应该会发现它足够有价值,现在就花时间掌握。我不得不为 Puppet 推出我自己的预发布包来解决我之前遇到的错误。

不过,在这种特殊情况下,您可能会发现Debian 不稳定树中的较新软件包对您有用。或者,甚至还有最前沿的 PPA,如果你想,好吧,切。