

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Chef 版本
<a name="workingcookbook-chef11"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

OpsWorks Stacks 支持多个版本的 Chef。您在[创建堆栈](workingstacks-creating.md)时选择版本。 OpsWorks 然后，Stacks 在堆栈的所有实例上安装该版本的 Chef 以及一组与该版本兼容的内置配方。如果您安装任何自定义配方，它们必须与堆栈的 Chef 版本兼容。

OpsWorks Stacks 目前支持 Linux 堆栈的 Chef 版本 12、11.10、11.4 和 0.9，支持 Windows 堆栈的 Chef 12.2（目前为 Chef 12.22）。为方便起见，通常仅使用这些版本的主要和次要版本号来指代它们。对于 Linux 堆栈，您可以在[创建堆栈](workingstacks-creating.md)时使用 Configuration Manager 指定要使用 Chef 的哪个版本。Windows 堆栈必须使用 Chef 12.2。有关更多信息 (包括关于将堆栈迁移到较新的 Chef 版本的准则)，请参阅[Chef 版本](#workingcookbook-chef11)。有关完整的版本信息，请参阅[OpsWorks 堆栈操作系统](workinginstances-os.md)。

**Chef 12.2**  
Chef 12.2 支持于 2015 年 5 月引入，仅供 Windows 堆栈使用。Windows 堆栈中的当前 Chef 版本为 Chef 12.22。它与 Ruby 2.3.6 一起运行，并[以本地模式使用 chef-client](https://docs.chef.io/ctl_chef_client.html#run-in-local-mode)，这会启动一个称为 [chef-zero](https://docs.chef.io/ctl_chef_client.html#about-chef-zero) 的本地内存 Chef Server。此服务器启动后，使配方可以使用 Chef 搜索和数据包。这种支持存在一些限制 ([实施配方：Chef 12.2](workingcookbook-chef12.md) 中有相关介绍)，但您可以在未经修改的情况下运行许多社区说明书。

**Chef 12**  
Chef 12 支持于 2015 年 12 月引入，仅供 Linux 堆栈使用。它与 Ruby 2.1.6 或 2.2.3 一起运行并以本地模式使用 [chef-client](https://docs.chef.io/ctl_chef_client.html#run-in-local-mode)，这使配方可以使用 Chef 搜索和数据包。有关更多信息，请参阅 [OpsWorks 堆栈操作系统](workinginstances-os.md)。

**Chef 11.10**  
Chef 11.10 支持于 2014 年 3 月引入，仅供 Linux 堆栈使用。它与 Ruby 2.0.0 一起运行并以本地模式使用 [chef-client](https://docs.chef.io/ctl_chef_client.html#run-in-local-mode)，这使配方可以使用 Chef 搜索和数据包。这种支持存在一些限制 ([实施配方：Chef 11.10](workingcookbook-chef11-10.md) 中有相关介绍)，但您可以在未经修改的情况下运行许多社区说明书。您也可以使用 [Berkshelf](http://berkshelf.com/) 管理您的说明书依赖项。哪个版本的 Berkshelf 受支持，取决于操作系统。有关更多信息，请参阅 [OpsWorks 堆栈操作系统](workinginstances-os.md)。您不能创建使用 11.10 的 CentOS 堆栈。

**Chef 11.4**  
Chef 11.4 于 2013 年 7 月引入，仅供 Linux 堆栈使用。它与 Ruby 1.8.7 一起运行并使用 [chef-solo](https://docs.chef.io/chef_solo.html) (不支持 Chef 搜索或数据包)。您通常可以在 OpsWorks Stacks 中使用依赖于这些功能的社区食谱，但必须按照中所述对其进行修改。[迁移到新的 Chef 版本](workingcookbook-chef11-migrate.md)您不能创建使用 11.4 的 CentOS 堆栈。美国东部（弗吉尼亚州北部）外的区域端点不支持 Chef 11.4 堆栈。

**Chef 0.9**  
 Chef 0.9 只能由 Linux 堆栈使用，且不再受支持。请注意以下详细信息：  
+ 您不能使用控制台创建新的 Chef 0.9 堆栈。

  您必须使用 CLI 或 API，或者您必须创建使用不同的 Chef 版本的堆栈，然后编辑堆栈配置。
+ 新的 OpsWorks 堆栈功能不适用于 Chef 0.9 堆栈。
+ 新的操作系统版本将只提供针对 Chef 0.9 堆栈的有限支持。

  具体而言，Amazon Linux 2014.09 及更高版本不支持具有依赖 Ruby 1.8.7 的 Rails 应用程序服务器层的 Chef 0.9 堆栈。
+ 新的 Amazon Web Services Region (包括欧洲地区 [法兰克福] ) 不支持 Chef 0.9 堆栈。
我们不建议对新堆栈使用 Chef 0.9。您应该尽快将任何现有堆栈迁移到最新的 Chef 版本。

如果你想在堆栈中使用社区食谱，我们建议[你为新的 Linux OpsWorks 堆栈指定 Chef 12](workingstacks-creating.md)，并将现有的 Linux 堆栈迁移到 Chef 12。你可以使用 OpsWorks Stacks 控制台、API 或 CLI 将现有堆栈迁移到较新的 Chef 版本。有关更多信息，请参阅 [迁移到新的 Chef 版本](workingcookbook-chef11-migrate.md)。

**Topics**
+ [为 Chef 12.2 堆栈实施配方](workingcookbook-chef12.md)
+ [为 Chef 12 堆栈实施配方](workingcookbook-chef12-linux.md)
+ [为 Chef 11.10 堆栈实施配方](workingcookbook-chef11-10.md)
+ [为 Chef 11.4 堆栈实施配方](workingcookbook-chef11-4.md)
+ [将现有 Linux 堆栈迁移到新的 Chef 版本](workingcookbook-chef11-migrate.md)