Chef infra 需要澄清Chef中节点和角色的管理

Chef infra 需要澄清Chef中节点和角色的管理,chef-infra,inventory,recipe,Chef Infra,Inventory,Recipe,我读过很多关于厨师的文档,从菜谱到角色以及刀具的使用。我对运行菜谱感到满意,并使用角色将它们与节点相关联。我不熟悉的方面是UI和节点、角色等的内部管理。请注意,我来自Ansible,在Ansible中,每个配置都可以在repo(例如git)中进行版本控制 如何在UI中跟踪节点等的变化-是否有审计工具允许我们查看随时间变化的内容?我在网上搜索了一个演示,但没有找到什么信息 是否可以同步chef服务器和say git存储库,以便至少可以在其中看到节点、角色等定义的更改?在ansible中,我可以在

我读过很多关于厨师的文档,从菜谱到角色以及刀具的使用。我对运行菜谱感到满意,并使用角色将它们与节点相关联。我不熟悉的方面是UI和节点、角色等的内部管理。请注意,我来自Ansible,在Ansible中,每个配置都可以在repo(例如git)中进行版本控制

  • 如何在UI中跟踪节点等的变化-是否有审计工具允许我们查看随时间变化的内容?我在网上搜索了一个演示,但没有找到什么信息
  • 是否可以同步chef服务器和say git存储库,以便至少可以在其中看到节点、角色等定义的更改?在ansible中,我可以在配置文件中维护我的期望,并让工具导入它。有没有办法做类似的事情?我读过关于“基础架构即代码”的文章,但它不是违背了这里的目的,即此代码不能轻松地进行版本控制吗

    • 由于我不熟悉厨师的用户界面,我将尝试简要回答您的第二个问题

      您有两个选择:

    • 如果您想继续扮演角色,可以遵循模型/模式
    • 你可以放弃角色。您可以切换到包装器cookbook模式,将cookbook视为角色。例如,不使用web_服务器角色,而是创建元(包装器)cookbook web_服务器,其中只包含其他cookbook或设置属性。您可以像其他任何烹饪书一样修改包装器烹饪书的版本。对于节点,您只分配包装器cookbook,或者每个节点类型只有一个包装器cookbook

    • 由于我不熟悉厨师的用户界面,我将尝试简要回答您的第二个问题

      您有两个选择:

    • 如果您想继续扮演角色,可以遵循模型/模式
    • 你可以放弃角色。您可以切换到包装器cookbook模式,将cookbook视为角色。例如,不使用web_服务器角色,而是创建元(包装器)cookbook web_服务器,其中只包含其他cookbook或设置属性。您可以像其他任何烹饪书一样修改包装器烹饪书的版本。对于节点,您只分配包装器cookbook,或者每个节点类型只有一个包装器cookbook

    • 让我试着澄清一下

      • 如何在UI中跟踪节点等的变化-是否有审计工具允许我们查看随时间变化的内容?我在网上搜索了一个演示,但没有找到什么信息
      有许多方法可以聚合节点(运行您的配方),一旦聚合完成,节点属性将被存储。它们的存储位置取决于聚合节点的方式:

      • 服务器\客户端架构:节点属性将存储在chef服务器上
      • zero\local模式架构:节点属性将本地存储在json文件中
      如果配置了(请参阅),则可以使用刀子检索节点属性:

      • 是否可以同步chef服务器和say git存储库,以便至少可以在其中看到节点、角色等定义的更改?在ansible中,我可以在配置文件中维护我的期望,并让工具导入它。有没有办法做类似的事情?我读过关于“基础架构即代码”的文章,但它不是违背了这里的目的,即此代码不能轻松地进行版本控制吗
      当然有可能。把你所有的食谱都放在源代码管理之下。
      如果您使用服务器\客户端体系结构,那么一旦您完成烹饪书的开发和测试,然后在感兴趣的节点上运行chef client。

      让我试着澄清一下

      • 如何在UI中跟踪节点等的变化-是否有审计工具允许我们查看随时间变化的内容?我在网上搜索了一个演示,但没有找到什么信息
      有许多方法可以聚合节点(运行您的配方),一旦聚合完成,节点属性将被存储。它们的存储位置取决于聚合节点的方式:

      • 服务器\客户端架构:节点属性将存储在chef服务器上
      • zero\local模式架构:节点属性将本地存储在json文件中
      如果配置了(请参阅),则可以使用刀子检索节点属性:

      • 是否可以同步chef服务器和say git存储库,以便至少可以在其中看到节点、角色等定义的更改?在ansible中,我可以在配置文件中维护我的期望,并让工具导入它。有没有办法做类似的事情?我读过关于“基础架构即代码”的文章,但它不是违背了这里的目的,即此代码不能轻松地进行版本控制吗
      当然有可能。把你所有的食谱都放在源代码管理之下。
      如果您使用服务器\客户端体系结构,那么在完成烹饪书的开发和测试后,请在感兴趣的节点上运行chef client。

      感谢您的澄清。这很有帮助。感谢您的澄清。这很有帮助。
      $ knife search "name:node.example.com" --long