为不同的服务器组织厨师烹饪书

Dra*_*ter 4 cookbook chef-infra

我有几个不同的服务器用于不同的目的.每个人都使用mysql,但它应该配置有点不同.=>不同的用户,不同的数据库.

我有一个安装mysql的食谱.

问题是,我应该在哪里放置为mysql创建数据库和用户的脚本?

应该是:

  1. mysql cookbook中每个服务器(角色)的一个脚本?(这样一台服务器的不同配置将在不同的食谱中)
  2. 为每个角色创建一本cookbook,我将连接有关此角色的所有特殊配置.(这种方式1台服务器的不同配置将在1个特定的位置,但我们将有1个额外的食谱)

我个人认为#1更好,因为我们加入了不同角色的不同烹饪书.

编辑

它不仅涉及数据库.例如,我有一些应用程序需要安装和配置tomcats/jetties /其他容器(不同的端口,启用不同的模块).应该存储不同版本的settings.xml/jetty.xml等?在食谱中

  1. 安装tomcat或
  2. 安装其他应用程序,需要tomcat?

jar*_*rad 5

我建议包括Opscode 数据库cookbook,它提供了一个用于管理数据库和数据库用户的LWRP.

接下来,我建议创建一个通用的烹饪书,利用数据库和数据包的LWRP .数据包将保存您的配置信息,并将隔离您的每服务器配置差异.

这将允许您为每个服务器(用户,数据库等)定义数据,并编写一个可以提取数据并使用它的菜谱.

另外,请查看加密数据包,这样您就可以在Chef服务器上以加密形式存储密码.