4

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

我有一本安装 mysql 的食谱。

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

应该是:

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

我个人认为 #1 更好,因为无论如何我们都会在我的角色下加入不同的食谱。

编辑

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

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

2 回答 2

5

我建议包括 Opscode数据库说明书,它提供了用于管理数据库和数据库用户的LWRP 。

接下来,我建议创建一本通用说明书,将 LWRP 用于数据库和数据包。数据包将保存您的配置信息,并将隔离您的每台服务器配置差异。

这将允许您为每个服务器(用户、数据库等)定义数据,并编写一本可以提取数据并使用它的说明书。

此外,请查看加密数据包,它允许您将密码以加密形式存储在 Chef 服务器上。

于 2012-04-24T13:12:46.710 回答
0

这个问题似乎在让你使用一个环境,然后根据环境有不同的数据包条目

我会将这些服务器放置在适当的环境中,与它们的设置相匹配。

或者,您围绕角色提出的建议也很有意义。

于 2012-05-11T17:56:20.727 回答