AWS OpsWorks Chef 12 Stack - Chef / ChefDK基础知识

时间:2016-04-15 01:29:31

标签: chef chef-recipe aws-opsworks chefdk

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

目标:

  1. 创建基于Linux的LAMP堆栈Cookbook以配置我的AWS EC2实例
  2. 打包食谱
  3. 将其添加到我的GitHub帐户(我已将其覆盖)
  4. 将我的AWS OpsWorks Chef 12堆栈链接到包含Cookbook的GitHub帐户(我有这个内容)
  5. 部署基于Cookbook正确配置的新EC2实例
  6. 使用Cookbook / Recipe更新/添加简单的HTML文件到EC2实例
  7. 所有这一切,这让我想问下面的厨师新手问题。

    其他厨师问题:

    1. 既然已经创建了我的演示Cookbook,我该如何创建自己的自定义食谱?

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

    3. 如何将所有内容打包上传到GitHub或S3。
    4. 任何指示,提示,资源链接等......都会非常感激。我还在下面列出了我的系统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

1 个答案:

答案 0 :(得分:1)

我建议您先使用Berkshelf来管理多个超市的食谱。

来自AWS on Berkshelf的指南可在http://docs.aws.amazon.com/opsworks/latest/userguide/cookbooks-101-opsworks-berkshelf.html

获取

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

至于使用食谱创建自己的食谱,您可以手动或使用chef generate cookbook your_cookbook_name。如果您没有安装厨师,可以使用brew cask install chefdkhomebrew通过class Foo: def __init__(self): self.datum = 'a' def update(self): self.datum = 'b' if self.datum == 'a' else 'a' def updater(foo_obj): return( foo_obj.update() ) 命令安装厨师。

有关创建和使用烹饪书的更多信息,请访问homebrew-cask