首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Chef配置设置

Chef配置设置
EN

Stack Overflow用户
提问于 2015-05-22 02:02:18
回答 1查看 20关注 0票数 0

我正在尝试配置通过chef.However复制文件,我们要求只为几个服务器推送配置。有什么参数或设置吗?

更详细一点……

我们通过Chef的标准部署要求将最新版本部署到所有服务器。然而,个别开发人员也会提交实验构建,这些构建仅部署到每个开发人员的1-2个服务器上,而不是整个堆栈。我们的目标如下: 1.能够通过Chef将实验构建部署到一组指定的服务器上。2.防止将实验构建部署到已经托管实验构建的服务器上--可能让Chef服务器以某种方式将这些服务器标记为不可用(?) 3.能够将完整构建部署到所有服务器,或者仅部署到当前未用于实验构建的服务器。

我确信这是一个相当常见的场景,我想知道是否有一种优雅/有效/动态的方式来让Chef服务器知道每个构建/实验应该部署到哪里。

EN

回答 1

Stack Overflow用户

发布于 2015-05-26 22:13:50

如果您使用云提供商,答案是使用Packer为每个构建创建一个映像,然后根据需要部署映像。如果您使用裸机,那么您可以轻松地使用普通属性或角色来设置版本。我建议使用属性。

  1. Set node['myapp']['test_version'] = 'some version‘在您的配方中要更新的节点
  2. 上,检查该属性的值。如果已设置,请安装该版本,否则请安装您的主版本。

要从实验中删除节点,只需在该节点上将该属性重置为nil即可。下一次chef运行将导致该节点返回到主版本。

如果您想要一种在所有节点上安装主版本的方法,包括正在进行实验的节点,您可以编写忽略该设置的第二个配方,或者您可以添加一个覆盖属性,如node['myapp']['force_master']等。然后,您可以在环境中设置该选项以覆盖实验。但您需要记住在以后重新设置它。

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

https://stackoverflow.com/questions/30381170

复制
相关文章

相似问题

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