如何在 AWS OpsWorks 中使用来自supermarket.chef.io 的 apache2 cookbook?

如何在 AWS OpsWorks 中使用来自supermarket.chef.io 的 apache2 cookbook?

我有一个食谱这是设置一些简单的 Apache 配置,我使用的是来自超级市场

我正在尝试使用 AWS OpsWorks 和 Chef 11.10 来运行我的食谱。

当我尝试在 OpsWorks 中运行配方时出现以下错误:

Missing Cookbooks:
------------------
Could not satisfy version constraints for: apache2

我想知道是否发生了什么事情,因为 OpsWorks 已经有一个apache2版本的食谱1.0.0,而我的食谱依赖于3.0.1我想要的超市版本,所以它出现了版本不匹配的情况。

到目前为止,我还没有成功尝试完全覆盖apache2OpsWorks 自动附带的食谱,如果可能的话,这可能是理想的选择。

有什么想法或主意我可以尝试一下吗?

答案1

OpsWorks 中的配方名称冲突是一个众所周知的问题。

一种选择是下载社区食谱并将其重命名为类似 apache-community 的名称,然后将其与其他食谱捆绑在一起。

看起来您正在尝试将 Python 部署到 OpsWorks,因此您可能还可以找到针对此目的的 OpsWorks 特定手册,例如:https://github.com/alecpm/opsworks-web-python

最后,您可能只需要权衡一下社区手册到底有多有用。如果您只需要配置几个选项,那么使用 OpsWorks Apache 手册可能会更容易,或者制作您自己的修改配置的配方。

答案2

在即将发布的 Chef 12 版本中,OpsWorks 将有两个不同的 Chef 运行,一个用于核心/最小 OpsWorks 设置,一个用于自定义说明书。第二个运行没有说明书,只有您自己的说明书,因此不会发生命名冲突。

cphttps://github.com/aws/opsworks-cookbooks/issues/217

相关内容