没有这样的说明书 - OpsWorks 找不到自定义说明书

Posted

技术标签:

【中文标题】没有这样的说明书 - OpsWorks 找不到自定义说明书【英文标题】:No such cookbook -- OpsWorks can't find custom cookbook 【发布时间】:2015-02-14 06:05:16 【问题描述】:

我正在尝试找出将 nginx 服务器添加为我的 node.js AWS OpsWorks 机器的代理的最佳方法。我无法让它工作,因为 Chef/OpsWorks 似乎找不到食谱。这是我的设置:我正在使用 node.js 层,并为 nginx 的厨师食谱创建了一个 git 存储库。我已启用自定义配方,并且已成功使用此 repo 中的自定义 HAproxy 属性文件。 repo的结构如下:

nginx-custom
 --recipes
 --templates
 --attributes
haproxy
 --attributes

奇怪的是 HAproxy 覆盖了工作。 nginx 食谱基本上是从 OpsWorks 版本复制粘贴的,带有我自己的一些属性(也许 b/c 它是一个完整的食谱是问题吗?)。因此,当我尝试将 nginx-custom 食谱作为设置步骤的一部分运行时(我已将食谱的名称添加到设置步骤中,并使用默认配方,如“nginx-custom::default”),我得到“没有这样的食谱”错误。我尝试将其作为独立命令运行,结果为 sam。我在做一些明显错误的事情吗?我应该为此使用 Berkshelf 吗?我应该制作自定义图层而不是尝试修改现有图层吗?任何帮助表示赞赏。谢谢你。

【问题讨论】:

【参考方案1】:

即使您启用了自定义配方,您是否已将 OPsWorks 配置为转到您的 GIT 存储库?

http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-enable.html

例如,如果您的 GIT 存储库位于 Github 上,您还必须授权 Amazon 使用正确的 SSH 密钥访问您的存储库。

还要确保 nginx 具有运行所需的所有依赖项。将食谱放在 tar.gz 中并将其上传到 S3 以供使用可能会更容易。

【讨论】:

以上是关于没有这样的说明书 - OpsWorks 找不到自定义说明书的主要内容,如果未能解决你的问题,请参考以下文章

Cloudformation 找不到区域性 Opsworks 堆栈

OpsWorks 找不到我的 Chef 食谱

Berkshelf:为 opsworks 合并多个同名的食谱

aws opsworks 默认部署到哪里?

如何使用 CloudFormation 创建 OpsWorks 用户?

无法加载数据库配置。没有这样的文件 - database.yml - OpsWorks