首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何管理具有不同模块版本的傀儡节点?

如何管理具有不同模块版本的傀儡节点?
EN

Server Fault用户
提问于 2013-05-10 15:46:11
回答 1查看 1.4K关注 0票数 1

我有一个设置,我们想让傀儡管理安装和配置我们的软件跨几个服务器,但能够安装不同版本的软件在不同的服务器。

例如,我希望能够为我们的1.0版创建一个包含服务器配置、依赖项等的傀儡模块,并为版本1.1创建一个单独的模块。通过单个傀儡主安装,我希望能够将一些节点配置为运行1.0版本,而将其他节点配置为运行1.1。

我看到模块允许包括版本在内的元数据,但看起来一次只能在傀儡主上安装一个模块的一个版本。

理想情况下,它是基于组的,我们可以定义一个“早期采用者”组和一个“正常”组,当我们想出新的版本时,我们可以设置早期采用者组使用新版本,而正常组使用第二个最老版本。

处理这件事的最好方法是什么?

EN

回答 1

Server Fault用户

发布于 2013-05-13 13:05:24

我建议使用一个以版本号作为参数的模块来实现这一点,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
class our_software ($version) {
  ...
}

您在该类中所做的事情取决于您的软件的两个版本有多少相同之处。您可能可以在类中直接包含所有配置文件,模板可以根据版本号为它们的设置选择正确的值,或者可以有两个单独的类,它们完全不同地设置每个版本的环境,主类根据版本号来决定包含哪一个。

如果您正在使用hiera (或其他一些外部查找),这允许您完全独立于“安装我们的软件”的代码指定所需的软件版本。

如果您想变得更漂亮,这个模块可以包含一个事实来指示当前安装了哪个版本的软件,这样您的模块就可以禁止类似于版本降级之类的事情(假设这在您的环境中是合适的)。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/506758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档