【问题标题】:Chef-Zero + AWS + Role Override AttributesChef-Zero + AWS + 角色覆盖属性
【发布时间】:2016-01-06 21:29:54
【问题描述】:

我是 Chef 和 A​​WS 的新手,我正在学习如何将集群(throw Chef)部署到 AWS Ec2。为此,我正在使用 chef-provisioning-aws。

我正在从我的工作站直接向 AWS 执行 chef-client,我没有 chef-server(使用 chef-zero)。这就是我的执行方式:

chef-client -z -r "role[example_cluster]"

是的,我在集群中有一个角色,并且在 run_list 我有 "recipe[example::aws_setup]", "recipe[example::create_cluster]"

example::create_cluster 配方中,我使用machine_batch 创建机器并调用以下配方:

recipe 'example::recipe_1' recipe 'example::recipe_2'

我还定义了一些属性,我在角色文件中覆盖了其中一些属性,但是当我执行 chef-client 时,example::aws_setupexample::create_cluster 上的属性是我在角色文件中覆盖的属性,但是example::recipe_1example::recipe_2 中使用的是默认的。

有人有指导或可以帮助我吗?

提前致谢。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 chef-infra chef-zero


    【解决方案1】:

    我想我昨晚在 IRC 上回答了你,但以防万一:

    运行配置过程的服务器(或本例中为工作站)的节点数据与 EC2 中新创建的节点之间没有关系。如果您想对它们应用角色或其他内容,则需要在创建机器时在您的配置配方中执行此操作。

    【讨论】:

    • 是的 coderanger,你在 IRC 中回答了,我忘了关闭这个。再次感谢。
    • 只是为了更新。我通过创建一个生成将在 ec2 上的新实例上使用的角色文件的配方解决了我的问题。基本上,我在集群角色文件上定义了我想要的所有属性,然后执行它,一切都很好:)
    【解决方案2】:

    厨师属性具有“优先级”顺序。请参考answer相关的Chef属性Precedence,有助于理解我们运行cookbook时会考虑哪个属性值。

    您需要调用正确的属性方法,同时覆盖属性值。

    【讨论】:

    • 这是真的,但不相关。
    猜你喜欢
    • 1970-01-01
    • 2015-06-06
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 2013-06-16
    • 2012-12-01
    • 1970-01-01
    相关资源
    最近更新 更多