【问题标题】:Chef environments in AWS OpsworksAWS Opsworks 中的 Chef 环境
【发布时间】:2017-09-04 03:38:35
【问题描述】:

由于 AWS Opsworks 向 Opsworks 添加了对 Chef 12 的支持,因此似乎支持了 Chef 环境。我对厨师很陌生。据我了解,厨师环境存储在我的食谱存储库中的environments/-文件夹中。因此,我在这里使用这个确切的名称创建了一个带有 name 属性的 testing.json 文件。我从厨师独库那里得到了模板。

我在我的测试堆栈的自定义 json 中定义了一个 chef_environment-attribute,将此环境设置为“测试”(我的环境)。

我正在使用berks package 将食谱打包到一个 tarball 中。我通过 S3 将它们拉入我的示例 Opsworks-stack 中。我在堆栈上运行了update_custom_cookbooks,但失败并显示厨师找不到环境测试的消息。

我首先注意到berks package 不包括环境/-文件夹,因为它不是食谱。因此,我将环境文件夹添加到压缩包中。我再次尝试更新食谱,但失败并显示相同的消息。

那么我的误解是什么? opsworks 想告诉我什么?

【问题讨论】:

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


    【解决方案1】:

    OpsWorks Stacks 不支持 Chef 环境。由于它是基于 Chef Solo 的,因此支持并没有太大的价值。普通 Chef 中角色和 envs 之间的主要区别在于 envs 可以指定食谱版本要求,但是由于 Solo 要求您事先处理依赖关系解析(在您的情况下通过 berks package),因此无法使用此功能。您可以使用相同的属性信息创建一个角色并使用它。在处理也使用 Chef Search 的 env-aware 食谱时,这可能会有点烦人,但由于那些很少在 OpsWorks Stacks 上工作,所以这不会出现太多。

    【讨论】:

      猜你喜欢
      • 2013-11-23
      • 1970-01-01
      • 2016-08-06
      • 2015-04-30
      • 2016-03-01
      • 2021-10-20
      • 2014-07-28
      • 2016-11-03
      • 2016-11-25
      相关资源
      最近更新 更多