本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
说明书 101
重要
这些区域有: AWS OpsWorks Stacks 该服务已于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请联系 AWS Support 团队开启 AWS re: post 或通过
生产级别 AWS OpsWorks 堆栈堆栈通常需要一些自定义,这通常意味着使用一个或多个食谱、属性文件或模板文件来实现自定义 Chef 食谱。本主题是实现食谱的教程介绍 AWS OpsWorks 堆栈。
有关如何操作的更多信息 AWS OpsWorks Stacks 使用食谱,其中包括对食谱的简要概述,请参阅。说明书和诀窍有关如何实施和测试 Chef 配方的更多信息,请参阅使用 Chef 的测试驱动型基础设施,第 2 版
该教程示例分为两个部分:
-
说明书基础知识 是一组演练示例,面向不熟悉 Chef 的用户;有经验的 Chef 用户可以跳过此部分。
该示例向您演示如何实施说明书来执行常见任务的基础知识,例如安装软件包或者创建目录。为了简化该过程,您将使用两个非常有用的工具 Vagrant
和 Test Kitchen ,以在虚拟机中本地运行大部分示例。在开始说明书基础知识之前,您应先阅读Vagrant 和 Test Kitchen 以了解如何安装和使用这些工具。由于 Test Kitchen 尚不支持 Windows,这些示例均面向 Linux,并带有备注来说明如何调整以用于 Windows。 -
实施食谱 AWS OpsWorks 堆栈描述了如何实现配方 AWS OpsWorks 堆栈,包括用于 Windows 堆栈的堆栈。
它还包含一些更高级的主题,例如如何使用 Berkshelf 来管理外部说明书。这些示例面向新 Chef 用户编写,与 说明书基础知识 中的示例非常类似。然而 AWS OpsWorks Stacks 的工作原理与 Chef 服务器略有不同,因此我们建议有经验的 Chef 用户至少通读本节。
Vagrant 和 Test Kitchen
如果您在使用针对 Linux 实例的说明书,在学习和启动开发与测试时,Vagrant 和 Test Kitchen 是非常有用的工具。本主题提供了 Vagrant 和 Test Kitchen 的简要说明,并指向安装说明和演练,帮助您设置和熟悉如何使用这些工具的基本知识。由于 Vagrant 支持 Windows 而 Test Kitchen 不支持,因此只提供了这些工具的 Linux 示例。
Vagrant
Vagrantopscode-ubuntu-12.04
Vagrant 可用于 Linux、Windows 和 Macintosh 系统,因此,您可以使用偏好的工作站在任何受支持的操作系统上实施和测试配方。本章的示例在 Ubuntu Linux 系统上创建,不过可以直接转换为适用于 Windows 或 Macintosh 系统的过程。
Vagrant 本质上是面向虚拟提供程序的包装器。大多数示例都使用VirtualBox
有关其他提供程序的信息,请参阅 Vagrantvagrant-aws
插件提供商允许您将Vagrant与亚马逊EC2实例一起使用。该提供程序对于在 Amazon Linux 上测试配方特别有用,该提供程序仅在亚马逊EC2实例上可用。该vagrant-aws
提供商是免费的,但您必须拥有一个AWS帐户并为您使用的任何AWS资源付费。
此时,您应该通读 Vagrant 的入门演练
Test Kitchen
Test Kitchen
-
在 Vagrant 中启动实例。
-
将说明书传输到实例。
-
在实例上运行说明书的配方。
-
在实例上测试说明书的配方。
-
SSH使用登录实例。
我们建议不要直接安装 Test Kitchen Gem,而是安装 Chef DK
此时,您应该通读 Test Kitchen 的入门演练
注意
本章中的示例将 Test Kitchen 用作运行配方的便利方式。如果您愿意,您可在完成“手动验证”部分之后停止入门演练,这一部分介绍了您所需了解的全部示例信息。但是,Test Kitchen 主要是一个测试平台,支持诸如 bash 自动测试系统 (BATS) 之类的测试