我有几个不同的服务器用于不同的目的。每个人都使用mysql,但它应该配置有点不同。 =>不同的用户,不同的数据库。
我有一本安装mysql的食谱。
问题是,我应该在哪里放置为mysql创建数据库和用户的脚本?
应该是:
我个人认为#1更好,因为我们加入了不同角色的不同烹饪书。
修改
它不仅涉及数据库。例如,我有一些应用程序需要安装和配置tomcats / jetties /其他容器(不同的端口,启用不同的模块)。应该存储不同版本的settings.xml / jetty.xml等?在食谱中
答案 0 :(得分:5)
我建议包括Opscode database cookbook,它提供LWRP来管理数据库和数据库用户。
接下来,我建议创建一个利用数据库和data bags的LWRP的通用食谱。数据包将保存您的配置信息,并将隔离您的每服务器配置差异。
这将允许您为每个服务器(用户,数据库等)定义数据,并编写一个可以提取数据并使用它的食谱。
另外,请查看encrypted data bags,它允许您以加密形式将密码存储在Chef服务器上。
答案 1 :(得分:0)
这个问题似乎让您大肆宣传使用environment,然后又有data bag entries based on environment。
我会将这些服务器放在适当的环境中,与他们拥有的设置相匹配。
或者,您对角色的提议也很有意义。