【问题标题】:Chef download package vs package "apache2"厨师下载包与包“apache2”
【发布时间】:2014-02-06 22:16:53
【问题描述】:

我是 Chef 的新手,据我所知,要使用 Chef 安装 apache,有两种方法:

方法一)在http://community.opscode.com/cookbooks/apache2下载apache社区cookbook并解压到cookbooks目录下

方法2)在一个recipe,default.rb中,我可以这样做:package "apache2"

那么这两种方法的好处或区别是什么?方法 1 下载菜谱是否会提供更多控制权并易于自定义其菜谱?

谢谢

【问题讨论】:

    标签: chef-infra


    【解决方案1】:

    第一种方法不仅可以安装apache,还可以帮助管理进程和自定义,例如:

    1. 自定义您的配置文件
    2. 自定义您的服务器模式和模块
    3. 启用或禁用您的网站
    4. 当任何配置文件改变时重启apache服务
    5. 如果您选择第二个选项,您应该从头开始做许多其他事情

    它还允许您自定义安装过程,只需对配方的属性(例如站点路径、名称)进行一些更改。

    这本食谱也为许多其他平台验证了这个过程,例如:

    亚马逊、arch、centos、debian、fedora、freebsd、redhat、科学、ubuntu

    【讨论】:

    • 所以方法 2 可能无法验证其他平台的流程?我对简单解决方案与控制能力等最佳实践感到好奇?
    • 这取决于你真正需要什么。不要把事情复杂化。如果您只需要安装一个包,无需配置,那么 #2 就足够了。我个人自己编写所有食谱(有时基于社区食谱),因为我通常不需要这么多的配置能力,因此我的食谱更轻巧且更易于维护。
    • 我倾向于使用社区食谱,只要它们能提供我需要的选项。有时它们可​​能比您目前需要的更复杂,但通过满足您未来和现在的需求,它们可以更好地扩展。关于 package,它确实适用于 Chef 支持的所有平台,但由于软件包名称在不同的操作系统上可能不同(例如 Debian 的 apache2 与 RHEL 的 httpd),如果你必须在你的食谱中手动指定它们需要安装在其他平台上。
    • 我混合使用两者。我写/维护了许多社区食谱一段时间。我更喜欢基于资源的食谱(比如新的 Jenkins),而不是像 apache 这样的基于配方/属性的食谱
    • 感谢所有反馈!
    猜你喜欢
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 2015-04-12
    相关资源
    最近更新 更多