从 AWS Opsworks Stacks Chef 11 迁移到 Chef 12 - 堆栈属性问题

Posted

技术标签:

【中文标题】从 AWS Opsworks Stacks Chef 11 迁移到 Chef 12 - 堆栈属性问题【英文标题】:Migrating from AWS Opsworks Stacks Chef 11 to Chef 12 - stack attributes question 【发布时间】:2020-10-08 21:02:11 【问题描述】:

2 个问题。我在此处的 AWS 文档和论坛主题中脱颖而出...

当您迁移到 opsworks 堆栈时,节点对象不再提供chef12 属性

“堆栈设置不再作为 Chef 属性提供,因此堆栈 无法再通过 Chef 节点对象访问设置。为了 更多信息,请参阅 AWS OpsWorks Stacks 数据包参考。” 根据官方文档。

问题是。我怎样才能获得存储在层-常规设置-自定义 json 中的那些***属性?我知道这些被传递给实例 b/c 我可以在 /var/chef/runs/randomstring/attrib.json 但它是数据包目录之上的一个级别中找到该 json。我无论如何都看不到将其作为 opsworks/chef 中的变量进行访问。

第二个问题,有什么方法可以访问随机厨师运行目录作为 opsworks/chef 中的变量?如果是这样,我可以轻松获取这些数据。

我看过这个: Get Custom JSON from Stack Settings in AWS OpsWorks with Chef 12 但根据我的实验,我似乎无法访问 chef12 opsworks 堆栈中的那些 #node... 值。

@coderanger 你可能是我在这里唯一的希望。

ps。是只有我还是 opsworks 很糟糕。 就是这样。

【问题讨论】:

【参考方案1】:

好的。在继续挖掘之后 - 显然,尽管官方文档在一个地方说了什么 - 你仍然可以使用原始语法 #node['whateveryourkeyis'] ...等访问***自定义 JSON。我在尝试时遇到的错误结果是不相关的,所以,你去吧,你可以抓住那个自定义 json,但不能抓住应用程序的其他属性——那些已经转移到数据包中。

哦,回答另一个问题 - 是的,我仍然很确定 opsworks 很糟糕。改变主意。

【讨论】:

以上是关于从 AWS Opsworks Stacks Chef 11 迁移到 Chef 12 - 堆栈属性问题的主要内容,如果未能解决你的问题,请参考以下文章

在 aws opsworks 中运行自定义食谱

AWS OpsWorks 应用程序层:无法从 PHP 应用程序访问环境变量

从 EC2 上的自定义 AMI 创建 AWS Opsworks 实例时未启动

使用 Chef 12 从 AWS OpsWorks 中的堆栈设置获取自定义 JSON

是否可以从厨师AWS / Opsworks食谱中运行Ansible playbook?

Chef 12 + AWS Opsworks + 从 s3 部署应用程序