Chef infra Chef节点与环境

Chef infra Chef节点与环境,chef-infra,Chef Infra,在我即将管理的这个设置中,我试图找出节点和环境之间的差异,这让我有点不知所措。我不确定我是否遗漏了什么,这是否是一个坏习惯,或者你有什么。我对厨师也很陌生,慢慢地了解了它 我将节点理解为运行chef客户端并根据运行列表维护所需状态的机器 我还了解到,环境用于描述有关特定环境的信息,并且可能具有特定于该环境的变量 我在chef repo和我管理的代码中看到的非常相似——如果不是完全重叠的话 给定一个在chef服务器上注册的节点和一个指定运行的环境——我看到了相同的配置 在节点上,有关于要使用的co

在我即将管理的这个设置中,我试图找出节点和环境之间的差异,这让我有点不知所措。我不确定我是否遗漏了什么,这是否是一个坏习惯,或者你有什么。我对厨师也很陌生,慢慢地了解了它

我将节点理解为运行chef客户端并根据运行列表维护所需状态的机器

我还了解到,环境用于描述有关特定环境的信息,并且可能具有特定于该环境的变量

我在chef repo和我管理的代码中看到的非常相似——如果不是完全重叠的话

给定一个在chef服务器上注册的节点和一个指定运行的环境——我看到了相同的配置

在节点上,有关于要使用的cookbook版本、chef_environment设置为的环境以及仅与该应用程序相关的特定应用程序变量、机器收集的硬件统计数据等信息

在环境中,存在相同的信息集合、食谱版本、应用程序变量和设置

我甚至不认为节点中提到的环境是受尊重的,因为竹子上的刀子引导运行的命令指定了不同的环境


我的问题是,这是多余的吗?哪些设置得到尊重,哪些设置被忽略,这些设置可以减少并简化吗?这是一种常见且正确的设置吗?

通常,您应该仅为唯一信息定义节点属性,例如主机名,这对于每台服务器都是不同的

在节点和环境中设置相同的属性时,优先级有点复杂。厨师的属性有六个覆盖级别:

  • 违约
  • 强制默认
  • 正常的
  • 凌驾
  • 强制超越
  • 自动的
在同一级别上,环境优先于节点,这可能与直觉相反。您可以通过使用不同级别(例如“默认”和“覆盖”)来调整覆盖的优先级

有关详细信息,请参阅以下文件的表格: