0

我已经开始深入研究 AWS DevOps,并且正在尝试使用 AWS Chef 12 Stack。我是 Chef 的新手,但我已经在我的 Mac (10.11.4) 上下载了 ChefDK 并成功创建了我的第一个运行该chef generate cookbook cookbook-name-here命令的 Cookbook 目录。我的目标是:

目标:

  1. 创建基于 Linux 的 LAMP 堆栈说明书以配置我的 AWS EC2 实例
  2. 包装食谱
  3. 将它添加到我的 GitHub 帐户(我已经涵盖了)
  4. 将我的 AWS OpsWorks Chef 12 堆栈链接到包含 Cookbook 的 GitHub 帐户(我已经涵盖了)
  5. 部署一个基于 Cookbook 正确配置的新 EC2 实例
  6. 使用 Cookbook/Recipe 更新/添加一个简单的 HTML 文件到 EC2 实例

综上所述,这让我问了以下厨师新手问题。

其他厨师问题:

  1. 现在我的演示食谱已经创建,我如何创建自己的自定义食谱?

    • 我是手动创建配方 ruby​​ 文件还是使用终端命令行 (CLI)?
    • 创建文件后,我是否需要运行任何其他 Chef CLI 命令来编译、格式化或将 chef recipe ruby​​ 文件正确放置在 Cookbook 中?
  2. 如何从 Chef Supermarket 正确地将厨师依赖项添加到我的食谱中?创建我自己的自定义食谱。

  3. 如何打包所有内容以上传到 GitHub 或 S3。

任何方向、提示、资源链接等......将不胜感激。我还在chef -v下面列出了我的系统的输出:

chef -v Chef Development Kit Version: 0.12.0 chef-client version: 12.8.1 berks version: 4.3.0 kitchen version: 1.6.0

4

1 回答 1

1

我建议您首先使用Berkshelf来管理多个食谱,例如超市中的食谱。

可从http://docs.aws.amazon.com/opsworks/latest/userguide/cookbooks-101-opsworks-berkshelf.html获得 AWS on Berkshelf 的指南

它说它只是 Chef 11,但 Berkshelf 与 Chef 12 一起使用,只需使用berks package并将您的食谱上传到 S3 即可aws s3 cp cookbooks.tar.gz s3://your_bucket/cookbooks.tar.gz

至于使用食谱创建自己的食谱,您可以手动完成或使用chef generate cookbook your_cookbook_name. 如果你没有安装 chef,你可以通过 command使用homebrewhomebrew-caskbrew cask install chefdk安装 chef 。

可以在http://docs.aws.amazon.com/opsworks/latest/userguide/gettingstarted-cookbooks.html找到更多来自 AWS 的关于创建和使用说明书的信息

于 2016-07-14T17:49:07.397 回答