【问题标题】:Organizing Chef Cookbooks For Different Servers为不同的服务器组织厨师食谱
【发布时间】:2012-05-28 16:52:27
【问题描述】:

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

我有一本安装 mysql 的说明书。

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

应该是:

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

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

编辑

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

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

【问题讨论】:

    标签: chef-infra cookbook


    【解决方案1】:

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

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

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

    另外,请查看encrypted data bags,它允许您将密码以加密形式存储在您的 Chef 服务器上。

    【讨论】:

      【解决方案2】:

      这个问题似乎在让你使用environment,然后使用不同的data bag entries based on environment

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

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

      【讨论】:

        猜你喜欢
        • 2014-12-05
        • 2019-01-29
        • 2013-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多