Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chef infra 在chef运行期间,node与node.default有何不同?_Chef Infra_Configuration Management - Fatal编程技术网

Chef infra 在chef运行期间,node与node.default有何不同?

Chef infra 在chef运行期间,node与node.default有何不同?,chef-infra,configuration-management,Chef Infra,Configuration Management,我注意到,如果在cookbooks中使用node.default,则环境中的属性不会得到应用(而是cookbook属性得到应用)。但是,如果改用节点,则会应用环境中更改的属性;为什么?我认为节点和节点。默认值是同一个?节点属性优先级可能会混淆。一旦你读了几遍,这份文件确实会有所帮助 我的忠告如下: 在烹饪书的属性文件中设置默认属性。不要因为在食谱中这样做而混淆自己 通过设置“普通”属性覆盖其他烹饪书的属性,然后在烹饪书的属性文件中再次执行此操作 在运行时使用环境或角色属性覆盖cookbooks

我注意到,如果在cookbooks中使用
node.default
,则环境中的属性不会得到应用(而是cookbook属性得到应用)。但是,如果改用
节点
,则会应用环境中更改的属性;为什么?我认为
节点
节点。默认值
是同一个?

节点属性优先级可能会混淆。一旦你读了几遍,这份文件确实会有所帮助

我的忠告如下:

  • 在烹饪书的属性文件中设置默认属性。不要因为在食谱中这样做而混淆自己
  • 通过设置“普通”属性覆盖其他烹饪书的属性,然后在烹饪书的属性文件中再次执行此操作
  • 在运行时使用环境或角色属性覆盖cookbooks中设置的所有属性
  • 切勿直接在chef服务器上编辑节点属性。没有事务锁定,这意味着如果chef客户端同时运行,您的更新可能会丢失

  • 这里的目标是一致性

    节点属性优先级可能会令人困惑。一旦你读了几遍,这份文件确实会有所帮助

    我的忠告如下:

  • 在烹饪书的属性文件中设置默认属性。不要因为在食谱中这样做而混淆自己
  • 通过设置“普通”属性覆盖其他烹饪书的属性,然后在烹饪书的属性文件中再次执行此操作
  • 在运行时使用环境或角色属性覆盖cookbooks中设置的所有属性
  • 切勿直接在chef服务器上编辑节点属性。没有事务锁定,这意味着如果chef客户端同时运行,您的更新可能会丢失

  • 这里的目标是一致性

    节点
    为您提供整个节点对象的视图<代码>节点。默认值仅告诉您在
    默认值
    级别设置了哪些值。因此,您永远不应该从
    节点进行读取。默认值
    ,因为您将明确忽略所有更高的优先级。也就是说,您的
    覆盖
    将不起作用<代码>节点。默认值允许您在节点上设置默认值。

    节点
    提供整个节点对象的视图<代码>节点。默认值仅告诉您在
    默认值
    级别设置了哪些值。因此,您永远不应该从
    节点进行读取。默认值
    ,因为您将明确忽略所有更高的优先级。也就是说,您的
    覆盖
    将不起作用<代码>节点。默认值允许您在节点上设置默认值。

    @josten Oh,抱歉。是的,在Chef 11中更改了语法。以下链接提供了更多详细信息:。简而言之,“节点[a]”用于读取保存在Chef节点对象中的现有值,“节点.默认值[a]”用于设置值。@josten Oh,抱歉。是的,在Chef 11中更改了语法。以下链接提供了更多详细信息:。简而言之,“节点[a]”用于读取保存在Chef节点对象中的现有值,“节点.默认值[a]”用于设置值。