在aws opsworks中运行自定义食谱

时间:2017-01-17 05:26:24

标签: amazon-web-services chef chef-recipe aws-opsworks

我是AWS opsworks的新手。虽然我在其他云中使用厨师独奏。

目前我想安装自定义食谱,我想在我的服务器上应用,这是在堆栈层内。目前我真的很困惑它在AWS中是如何工作的。

以下是我到目前为止所做的步骤 - 我已将我的test cookbook存储在github中,我想通过chef-solo或chef-client执行测试。我怎么能在堆栈设置中添加cookbook github url。我还在构建生命周期中添加了配方。

我通过运行命令更新cookbook。执行所有可用的内置菜谱后,我可以看到它正在通过运行列表运行,并且主厨运行失败并出现错误 -

  

没有食谱发现测试食谱

我没有在cookbook中或通过命令运行时配置任何Json。有什么遗漏吗?

2 个答案:

答案 0 :(得分:1)

  • 使用berkshelf创建Berksfile
  • 运行berks package cookbooks.tar.gz
  • 将cookbooks.tar.gz上传到AWS S3
  • 在堆栈设置点'使用自定义食谱'到S3桶
  • 运行Update Cookbooks命令
  • 运行您要执行的部署或自定义配方

答案 1 :(得分:0)

Thomas V的答案假设您要使用AWS S3实例。较新的Opsworks安装提供了引用自定义Github食谱存储库的选项。您可以使用Berks软件包命令获取自定义菜谱的所有依赖关系,而不是通过堆栈设置将其指向S3存储桶,然后将其上载到Github存储库中并由堆栈引用。

从那里,您应该能够通过OpsWorks选项在所需的周期(设置,配置,部署等)之后运行自定义食谱,方法是转到 Layers> Recipes (添加>食谱)并将其添加到其中。