首页 > 解决方案 > 需要澄清有关节点管理、Chef 中的角色

问题描述

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

标签: chef-infrainventoryrecipe

解决方案


让我试着澄清一下……

  • 如何在 UI 中跟踪节点等的变化 - 是否有审计工具可以让我们看到随着时间的推移发生了什么变化?我在网上搜索了一个演示,但发现的信息很少。

有很多方法可以收敛一个节点(运行你的食谱),一旦收敛完成,节点属性就会被存储。它们的存储位置取决于您如何聚合节点:

  • 服务器\客户端架构:节点属性将存储在厨师服务器上
  • zero\local-mode 架构:节点属性将存储在本地的 json 文件中

如果您正确配置了刀(参见client.rb),您将能够使用刀来检索节点属性。例如

$ knife search "name:node.example.com" --long
  • 是否可以同步厨师服务器和一个说 git 存储库,因此至少可以在那里看到节点、角色等定义的变化?在 ansible 中,我可以在配置文件中保持我的期望并让工具导入它。有没有办法做类似的事情?我读过“基础设施即代码”,但它不是违背了这里的目的,即该代码不能轻易地进行版本控制吗?

当然有可能。只需将您所有的食谱置于源代码控制管理之下。如果您使用服务器\客户端架构,那么在完成食谱开发和测试后,将您的食谱上传到 chef-server,然后在感兴趣的节点上运行 chef-client。


推荐阅读