【问题标题】:How to properly use Roles with Chef-solo如何在 Chef-solo 中正确使用角色
【发布时间】:2017-11-02 21:46:00
【问题描述】:

我不确定我是否理解如何将角色与 chef-solo 一起使用。更具体地说,我正在寻找以下问题的答案:

(i) 告诉 chef-solo 以特定角色运行的语法是什么?我设法使用:

chef-solo --override-runlist "role["oracle"]"

但这是否是“正确”的做法(我希望我不需要在标准使用厨师角色时“覆盖”任何内容)?另外,如果我使用此命令,它是否还会从我指定的角色加载所有属性,而不仅仅是运行列表?

(ii) 有没有办法从 solo.rb 引用一个“默认”运行列表,然后让一些(或所有)角色以某种方式“引用”它?我有一些配方需要在所有角色和环境下运行,我宁愿不将它们复制到我的所有角色 json 文件中(出于可维护性原因)。

(P.S. 我在 windows 上运行 chef-solo,以防它在某种程度上很重要......)

【问题讨论】:

    标签: chef-infra chef-solo


    【解决方案1】:

    您可以在 chef-solo 中使用 JSON Attributes 参数。

    运行

    chef-solo -c conf.rb -j conf.json
    

    conf.rb 设置菜谱路径、文件缓存路径和任何其他您想要调整的全局设置,conf.json 看起来像这样:

    {
      "some_attr": true,
      "run_list": [
        "role[solo_provisioned_node]",
        "recipe[mycookbook::myrecipe]"
      ]
    }
    

    或者在你给出的例子中,只是

    {
      "run_list": [
        "role[oracle]"
      ]
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      相关资源
      最近更新 更多