我们是一家小型网络开发商店,正在研究在各种开发和生产服务器上推出 Puppet。
puppetmaster 是一台 Ubuntu 10.04 服务器,带有来自 Ubuntu 仓库的 Puppet 0.25.4。一些 puppet 客户端是带有 puppet 0.25.4 的 Ubuntu,但其他客户端是基于 RedHat 或 Centos 的,并使用 EPEL 仓库,该仓库提供 puppet 0.25.5 软件包。
这些较新的客户端无法与“较旧的”puppetmaster 通信,因此我可以升级主服务器或降级客户端。但是,我无法找到 rpm 来将客户端降级到 0.25.4。构建我自己的软件包是一件我可以不用做的苦差事,因为我是公司中唯一的系统管理员。
如何处理异构环境中不同的客户端/服务器版本?
答案1
我建议puppetmasterd
尽可能使用最新的稳定版本。当需要升级客户端时,它将大大简化升级过程。这些相对较新且发展迅速的项目通常会经常发布功能和错误修复的小版本,这非常有价值。当然,您仍应认真阅读每个变更日志,以预防升级过程中可能影响您环境的任何事情。
打包自己的版本应该不会那么困难,而且这是一项技能,将来你会发现它很有价值,值得现在花时间掌握。我不得不为 Puppet 推出自己的预发布包来解决我之前遇到的错误。
不过,在这种特殊情况下,您可能会发现来自Debian 的不稳定树会为你工作。或者甚至有一个前沿 PPA,如果你想,那就被淘汰吧。
答案2
你应该升级你的 ubuntu 版本。但如果你需要一个较旧的 redhat 版本
答案3
仅供参考:
新的专业木偶本书提供了从源代码或包在不同平台上安装 Puppet 的良好概述,以及如何编写模块以便能够灵活地处理多个分布。