map*_*ap7 2 ruby-on-rails chef-infra
我刚开始使用厨师独奏.我已经开始使用chef-solo从头开始构建我的Ruby on Rails Web服务器.除了我的bootstrapping文件(deploy.rb和install.rb),我有两个配置文件(solo.json和solo.rb).我已经设置了我的solo.json来运行一组将设置Web服务器的角色和配方.
现在我想使用chef-solo来构建一个带有我自己的自定义的mythtv盒子.我应该使用'web_server.json'和'mythtv.json'来列出创建这些服务器的不同配方/角色,而不是使用solo.json吗?
逻辑上它应该工作,但有更好的方法吗?/这是正确的方法吗?
到目前为止,这是我的完整设置(因为它为Ruby on Rails构建了一个Web服务器);
https://github.com/map7/chef-solo
一种方法是复制我的整个chef-solo目录并自定义它以创建我的Mythtv框,但后来我必须维护两套chef-solo bootstrappings和配置文件,并且在这两种情况下都会使用一些cookbook.比如在Mythtv和我的网络服务器上我想要的apache2.
小智 6
我已经倾倒了文档和一些厨师独奏教程,这就是我想出来的.像几乎所有程序一样,有更多的方法可以做到这一点(TIMTOWTDI).我正在考虑做自己的教程......
创建一个base.json作为您的主要配置选项:用户帐户,可能只能访问ssh的iptables,为您的用户提供sudo等.在两台(所有)机器上都是相同的.然后为神话机创建一个角色并将其放在角色文件夹中.创建新角色时,只需编辑base.json并将角色添加到运行列表中.
另外,我没有看到site-cookbooks文件夹.当我开始兼职厨师时,我对此并不清楚.你需要这个.如果您更改了食谱(最终将使用),则将更改的文件放在site-cookbooks文件夹中,与原始食谱相同的目录结构中.假设您要编辑apache2模板,您可以将其放在site-cookbooks - > apache2 - > templates - > default - > apache2.conf.erb(例如)中.在运行时,厨师会查看您的模板而不是原始模板.这样可以轻松跟踪您的添加/更改,还可以轻松升级原始菜谱.所以,你只会有一个食谱tarball.如果你没有从json调用配方/角色,那么它将不会被执行.在我的chef-solo repo中,为了创建我的tarball,我运行:
tar zcvf chef-solo.tar.gz ./cookbooks ./roles ./site-cookbooks ./data-bags
Run Code Online (Sandbox Code Playgroud)
最后一点,更高版本的chef-solo已经对使用数据包的能力产生了浓厚的兴趣,并且已经创建了一个可以进行搜索的食谱.两者都是客户端 - 服务器设置的重要组成部分,我认为它们不会被添加到chef-solo中.厨师独奏FTW!
我的引导fwiw. https://github.com/tripleonard/chef-solo-bootstrap
干杯!
| 归档时间: |
|
| 查看次数: |
1513 次 |
| 最近记录: |