没有这样的说明书 - 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 堆栈
Berkshelf:为 opsworks 合并多个同名的食谱