【问题标题】:Should I have multiple chef-solo json config files?我应该有多个 chef-solo json 配置文件吗?
【发布时间】:2011-11-01 02:00:08
【问题描述】:

我刚刚开始使用 chef-solo。我已经开始使用 chef-solo 从头开始​​构建我的 Ruby on Rails Web 服务器。除了我的引导文件(deploy.rb 和 install.rb),我还有两个配置文件(solo.json 和 solo.rb)。我已经设置了我的 solo.json 来运行一组角色和配方,这些角色和配方将设置一个 Web 服务器。

现在我想使用 chef-solo 来构建一个我自己定制的神话电视盒。我应该使用“web_server.json”和“mythtv.json”来列出创建这些服务器的不同配方/角色,而不是使用 solo.json?

从逻辑上讲它应该可以工作,但有更好的方法吗? / 这是正确的方法吗?

到目前为止,这是我的完整设置(目前它为 Ruby on Rails 构建了一个 Web 服务器);

https://github.com/map7/chef-solo

一种方法是复制我的整个 chef-solo 目录并对其进行自定义以创建我的 Mythtv 盒子,但是我必须维护两组 chef-solo 引导程序和配置文件,并且其中一些食谱将用于两者情况。比如我想要在 Mythtv 和我的网络服务器上使用的 apache2。

【问题讨论】:

    标签: ruby-on-rails chef-infra


    【解决方案1】:

    我已经阅读了文档和一些厨师独奏教程,这就是我想出的。像几乎所有程序一样,有更多的方法可以做到这一点(TIMTOWTDI)。我正在考虑做我自己的教程...

    创建一个 base.json 作为您的主要配置选项:用户帐户,可能是只能访问 ssh 的 iptables,为您的用户设置 sudo 等等。两台(所有)机器上的东西都是一样的。然后为您的神话机器创建一个角色并将其放入角色文件夹中。创建新角色时,只需编辑 base.json 并将角色添加到运行列表即可。

    另外,我没有看到 site-cookbooks 文件夹。当我开始使用 chef-solo 时,我也不清楚这一点。你需要这个。如果您更改食谱(最终会更改),则将更改后的文件放在 site-cookbooks 文件夹中,与原始食谱处于相同的目录结构中。假设你想编辑一个 apache2 模板,你可以把它放在 site-cookbooks-->apache2-->templates-->default-->apache2.conf.erb 中(例如)。在运行时,厨师将查看您的模板而不是原始模板。这样可以轻松跟踪您的添加/更改,还可以轻松升级原始食谱。因此,您将永远只有一个食谱压缩包。如果您不从 json 调用配方/角色,那么它将不会被执行。 在我的 chef-solo repo 中,为了创建我的 tarball,我运行:

    tar zcvf chef-solo.tar.gz ./cookbooks ./roles ./site-cookbooks ./data-bags
    

    最后一点,新版本的 chef-solo 已经因为使用数据包的能力而受到了一些喜爱,并且已经创建了一个食谱以允许搜索。两者都是客户端-服务器设置的重要组成部分,我认为它们不会被添加到 chef-solo。厨师独奏 FTW!

    我的引导程序。 https://github.com/tripleonard/chef-solo-bootstrap

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      相关资源
      最近更新 更多