Chef infra 使用Chef参数化节点关系

Chef infra 使用Chef参数化节点关系,chef-infra,chef-recipe,Chef Infra,Chef Recipe,我有一组执行特定角色的服务器,它们之间有依赖关系,即 web server -> application server -> database server 我有厨师烹饪书,可以用这些角色构建节点。我使用Chef生成每个节点的hosts文件,并使用。到现在为止,一直都还不错。我不能完全掌握的是如何灵活地表示具有不同角色的节点之间的关系 所谓灵活,我的意思是,在开发中,我可能只有一个节点满足所有三个角色,而在登台和生产环境中,每个角色至少有一个节点 我不清楚如何参数化主机文件的生成以

我有一组执行特定角色的服务器,它们之间有依赖关系,即

web server -> application server -> database server
我有厨师烹饪书,可以用这些角色构建节点。我使用Chef生成每个节点的hosts文件,并使用。到现在为止,一直都还不错。我不能完全掌握的是如何灵活地表示具有不同角色的节点之间的关系

所谓灵活,我的意思是,在开发中,我可能只有一个节点满足所有三个角色,而在登台和生产环境中,每个角色至少有一个节点

我不清楚如何参数化主机文件的生成以满足这一需求。其他人是如何处理这个问题的


提前谢谢。

您是否有厨师服务器设置/托管厨师

Chef在每个converge上运行一个名为
ohai
的工具,该工具收集节点的所有信息(例如IP地址、接口、存储、包数据),并将其写入
节点
对象。converge完成后,chef客户端将把节点对象数据上传到chef服务器,存储在那里,并可从所有其他节点/客户端进行搜索:

手册:

根据您划分阶段的方式,例如使用不同的厨师环境、使用标记或某些自定义逻辑,您可以动态构建
/etc/hosts
文件,使用搜索重新配置负载平衡器和防火墙规则。例如:


如果您未使用基于Chef服务器的设置,则无法执行此操作。您必须手动“描述”您的基础结构/拓扑,例如在数据包或属性中。

对不起,我应该提到-我使用的是hosted Chef。谢谢