Chef

出自 ArchWiki

Chef 是一个配置管理工具,主要使用 Ruby 编写,并带有 Erlang 和 Java 服务器。它使用纯 Ruby 领域特定语言 (DSL) 来编写系统配置“recipes”。Chef 用于简化配置和维护公司服务器的任务,并且可以与基于云的平台(如 Amazon EC2、Google Cloud Platform、OpenStack、SoftLayer 和 Microsoft Azure)集成,以自动配置和配置新机器。Chef 包含适用于小型和大型系统的解决方案,并为各自的范围提供功能和定价。

Chef Workstation

chef-workstationAUR 包含用于使用 Chef 平台的开发和部署工具。它包括

  • Chef Infra Client
  • Test Kitchen
  • Cookstyle
  • Chef InSpec

Chef Infra Client

对于正在管理的系统,请安装 chef-clientAUR 软件包。 这是获取 chef-clientchef-solochef-zero 工具的推荐安装方法。

CINC client

Chef Software 更改了其软件包的使用许可,要求接受其许可,就像 Red Hat 要求接受许可才能使用 Red Hat Enterprise Linux 一样。 有一个名为 CINC 的社区发行版,致力于为 Chef Software 的产品提供社区支持的软件包(类似于 CentOS 作为替代方案)。 cincAUR 软件包提供了备用的 cinc-clientcinc-solocinc-zero 工具。

Omnibus Chef installer

Chef Software 提供的软件包在构建时包含了它们的依赖项。 这使得他们可以发布 Chef,而无需担心底层操作系统对 Ruby、OpenSSL 等的支持。 chef-workstationAURchef-clientAURcincAUR 软件包是通过重新使用这些软件包构建的。

从源代码安装

如果您希望构建自己的 Omnibus 软件包

 $ git clone https://github.com/chef/chef.git
 $ cd chef/omnibus

清除之前的所有安装和 omnibus 缓存

# rm -Rf /opt/chef/* /var/cache/omnibus/*

设置目录并将所有权更改为您自己,这样就不需要以 root 用户身份构建

# mkdir -p /opt/chef /var/cache/omnibus
# chown -R "$USER:users" /opt/chef
# chown -R "$USER:users" /var/cache/omnibus

运行以下命令进行构建

$ bundle install --binstubs
$ bundle exec omnibus clean chef
$ bundle exec omnibus build chef

之后,您可能希望将目录的所有权更改回系统

# chown -R root:root /opt/chef
# chown -R root:root /var/cache/omnibus

将创建一个 Makeself 便携式安装程序,例如 chef-11.8.2_0.arch.3.12.6-1-ARCH.sh。 运行此可执行文件以安装 chef。

移除

手动删除所有安装文件

# rm -Rf /opt/chef

您还可以确保 omnibus 缓存被删除

# rm -Rf /var/cache/omnibus