2015-06-02 296 views
0

参数化节点的关系我有在它们之间具有相关性执行特定角色的一组服务器的即使用厨师

web server -> application server -> database server 

我有厨师食谱,可以建立与这些角色的节点。我使用Chef生成每个节点的主机文件,并使用hosted Chef Server。到现在为止还挺好。我无法理解的是如何灵活地表示具有不同角色的节点之间的关系。

灵活地说,我的意思是说,在开发过程中,我可能只有一个节点完成所有三个角色,而在分段和生产环境中,他们至少会分离出每个角色一个节点。

我不清楚如何参数化生成主机文件以适应此要求。其他人如何解决这个问题?

在此先感谢。

回答

2

你有厨师服务器设置/主厨吗?

厨师运行每个称为ohai会聚,其收集关于一个节点的所有信息的工具(例如,IP地址,接口,存储,包数据),并将其写入到node对象。当收敛完成后,厨师,客户端将节点对象数据上传到它会被存储厨师服务器和可供搜索的所有其他节点/客户端:

手册:http://docs.chef.io/chef_search.html

根据你如何分裂你的舞台,例如使用不同的厨师环境,使用标签或一些自定义逻辑,您可以动态构建/etc/hosts文件,使用搜索重新配置负载平衡器和防火墙规则。例如:https://serverfault.com/questions/412127/chef-recipe-read-attributes-from-another-node

如果您不使用基于Chef-Server的安装程序,则无法执行此操作。您必须手动“描述”您的基础架构/拓扑,例如在数据包或属性里面。

+0

对不起,我应该提到 - 我正在使用托管厨师。谢谢。 –