从 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 应用程序层:无法从 PHP 应用程序访问环境变量
从 EC2 上的自定义 AMI 创建 AWS Opsworks 实例时未启动
使用 Chef 12 从 AWS OpsWorks 中的堆栈设置获取自定义 JSON