Amazon web services AWS Opsworks中的Chef环境

Amazon web services AWS Opsworks中的Chef环境,amazon-web-services,chef-infra,chef-recipe,aws-opsworks,berkshelf,Amazon Web Services,Chef Infra,Chef Recipe,Aws Opsworks,Berkshelf,由于AWS Opsworks在Opsworks中添加了对Chef 12的支持,因此似乎支持Chef环境。我对厨师还不太熟悉。据我所知,chef环境存储在我的cookbook repo中的environments/-文件夹中。在这里,我使用这个确切的名称创建了一个testing.json文件,该文件具有name属性。我从厨师doku那里得到了模板 我在测试堆栈的自定义json中定义了chef_environment-attribute,将此环境设置为“testing”(我的环境) 我正在使用ber

由于AWS Opsworks在Opsworks中添加了对Chef 12的支持,因此似乎支持Chef环境。我对厨师还不太熟悉。据我所知,chef环境存储在我的cookbook repo中的
environments/
-文件夹中。在这里,我使用这个确切的名称创建了一个testing.json文件,该文件具有name属性。我从厨师doku那里得到了模板

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

我正在使用
berks-package
将烹饪书打包成一个柏油球。我通过S3将它们拉入我的示例Opsworks堆栈。我在堆栈上运行了
update\u custom\u cookbooks
,失败的消息是chef找不到环境测试

我首先注意到,
berks包
不包括environment/-folder,因为它不是一本食谱。因此,我将environments文件夹添加到tarball中。我再次尝试更新烹饪书,但失败的消息相同


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

opsworks堆栈不支持Chef环境。由于它是基于厨师独奏,有没有真正的价值吨支持。普通厨师中角色和环境的主要区别在于环境可以指定烹饪书版本要求,但是由于Solo要求您事先处理依赖项解析(在您的情况下,通过
berks-package
),因此无法使用此功能。您可以创建具有相同属性信息的角色,并使用该属性信息。在处理同样使用Chef Search的env-aware烹饪书时,这可能会有点烦人,但由于这些书很少在OpsWorks堆栈上工作,所以不会出现太多问题