gpt4 book ai didi

chef-infra - Chef 中默认的 run_list 和 '_default' 环境 run_list 有什么区别?

转载 作者:行者123 更新时间:2023-12-01 05:27:33 25 4
gpt4 key购买 nike

我对如何在厨师中使用环境运行列表感到有些困惑。
正如您在下面的 role.json 中看到的那样。在 env_run_lists 中,您有 _default,然后我们已经有了默认的 run_list。有什么不同?在运行环境 run_list 之前,每次都会运行默认的吗?

{
"name": "webserver",
"default_attributes": {
},
"json_class": "Chef::Role",
"env_run_lists": {
"_default": [

],
"production": [

],
"dev": [
"role[base]",
"recipe[apache]",
"recipe[apache::copy_dev_configs]"
]
},
"run_list": [
"role[base]",
"recipe[apache]"
],
"description": "The webserver role",
"chef_type": "role",
"override_attributes": {
}
}

最佳答案

我同意这很令人困惑,尤其是因为 documentation关于我通过查看来源可以看到的行为似乎是不正确的。

从阅读 source我们可以看到,当 Role对象被构造为它的键值 run_list 的内容属性针对 _default 环境,然后将哈希与 env_run_lists 的内容合并属性(覆盖 _default 键的值)。

这在实践中意味着如果您指定 run_list属性,那么您不需要在 env_run_list 中包含 _default 环境。属性。如果您选择在 env_run_list 中包含 _default 环境属性,那么它将覆盖 run_list 中定义的任何内容属性。

要指出的另一件明显的事情是,如果您的节点不属于角色中定义的任何环境(_default 或其他)it will fall back to using the run_list for the _default environment .

关于chef-infra - Chef 中默认的 run_list 和 '_default' 环境 run_list 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17228744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com