Chef
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-client
、chef-solo
或 chef-zero
工具的推荐安装方法。
CINC client
Chef Software 更改了其软件包的使用许可,要求接受其许可,就像 Red Hat 要求接受许可才能使用 Red Hat Enterprise Linux 一样。 有一个名为 CINC 的社区发行版,致力于为 Chef Software 的产品提供社区支持的软件包(类似于 CentOS 作为替代方案)。 cincAUR 软件包提供了备用的 cinc-client
、cinc-solo
或 cinc-zero
工具。
Omnibus Chef installer
Chef Software 提供的软件包在构建时包含了它们的依赖项。 这使得他们可以发布 Chef,而无需担心底层操作系统对 Ruby、OpenSSL 等的支持。 chef-workstationAUR、chef-clientAUR 和 cincAUR 软件包是通过重新使用这些软件包构建的。
从源代码安装
如果您希望构建自己的 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