chef-infra - Chef 存储库的目的是什么?

标签 chef-infra

我是 Chef 的新手。安装后,文档提示我从 git 克隆一个 Chef 存储库。我想知道 Chef 存储库的目的是什么。如果我只需要将它用作 Chef 客户端。

最佳答案

Chef 存储库提供了组织所有工件( Recipe 、菜谱、角色等)的结构,这些工件与 Chef 一起使用来描述并最终配置您的基础设施。当您创建自己的 Recipe 、修改现有 Recipe 并将其上传到您的 Chef 服务器时,在开发时需要该存储库。将存储库视为将基础架构实现为代码的工作区。

Chef 文档将开发机器称为 Chef 工作站。工作站具有一个或多个存储库,用于管理基础架构工件和与 Chef 服务器交互的 Knife 工具。

由 Chef 管理的常规节点不需要存储库和 Knife。这就是 Chef 客户所需要的。相反,工作站用于管理 Chef 。存储库和 Knife 是实现此目的的工具。

您可以在存储库中处理一些诸如角色和数据包之类的内容,您也可以使用 Chef 服务器 Web UI 进行定义,但这样您就不会拥有受版本控制的工作历史记录。对于 Recipe ,即使您不需要修改任何内容,您仍然需要使用 Knife 将它们从存储库上传到服务器。

有关更多信息,请参阅 Chef 维基:workstation , repository , knife .

关于chef-infra - Chef 存储库的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14662848/

相关文章:

ruby - OpsWorks Chef : Cannot compile yum cookbook due to old Ruby (1. 8.7)

ruby-on-rails - 在总共 90 个 gem 中找不到 'berkshelf' (>= 0) (Gem::LoadError)

ubuntu - ec2 实例的公共(public) ip 重定向到私有(private) ip

java - 如何使用 json 覆盖在 Chef Recipe 中安装 java 7

postgresql - 使用 Chef 在 CentOS 6.5 上安装 Postgres 9.2

ruby - 在 Chef 的提供者的 default.rb 中使用 File::read

repository - 如何使用 Chef 客户端本地模式指定存储库路径

chef-infra - 覆盖配方中的属性

encryption - 加密的chef数据包json文件,如何解密显示内容?

chef-infra - Chef Knife 发出 GSSAPI C 库警告