Chef教程
Chef高级

Chef Cookbook

Cookbooks 是 Chef 的基本工作单元,它包含与工作单元相关的所有详细信息,能够修改配置为 Chef 基础架构上的节点的任何系统的配置和状态。Cookbook可以执行多项任务。 Cookbooks 包含有关节点所需状态的值。这是通过使用所需的外部库在 Chef 中实现的。

Cookbook的关键组成部分

Cookbook 元数据 属性 资源 模板 图书馆 任何有助于创建系统的其他内容

创建Cookbook

动态创建Cookbook有两种方法。
使用Chef命令 使用knife 工具

使用 Chef 命令

要使用 Chef 命令创建一个空的说明书,请运行以下命令。
C:\Users\vipinkumarm>chef generate cookbook <Cookbook Name> 
C:\Users\vipinkumarm>chef generate cookbook VTest
Installing Cookbook Gems:
Compiling Cookbooks...
Recipe: code_generator::cookbook
   * directory[C:/Users/vipinkumarm/VTest] action create
     -create new directory C:/Users/vipinkumarm/VTest
   
   * template[C:/Users/vipinkumarm/VTest/metadata.rb] action create_if_missing
     -create new file C:/Users/vipinkumarm/VTest/metadata.rb
     -update content in file C:/Users/vipinkumarm/VTest/metadata.rb 
         from none to 4b9435 (diff output suppressed by config)
   * template[C:/Users/vipinkumarm/VTest/README.md] action create_if_missing
     -create new file C:/Users/vipinkumarm/VTest/README.md
     -update content in file C:/Users/vipinkumarm/VTest/README.md 
         from none to 482077 (diff output suppressed by config)
   * cookbook_file[C:/Users/vipinkumarm/VTest/chefignore] action create
     -create new file C:/Users/vipinkumarm/VTest/chefignore
     -update content in file C:/Users/vipinkumarm/VTest/chefignore 
         from none to 15fac5 (diff output suppressed by config)
   
   * cookbook_file[C:/Users/vipinkumarm/VTest/Berksfile] action create_if_missing
     -create new file C:/Users/vipinkumarm/VTest/Berksfile
     -update content in file C:/Users/vipinkumarm/VTest/Berksfile 
         from none to 9f08dc (diff output suppressed by config)
   * template[C:/Users/vipinkumarm/VTest/.kitchen.yml] action create_if_missing
     -create new file C:/Users/vipinkumarm/VTest/.kitchen.yml
     -update content in file C:/Users/vipinkumarm/VTest/.kitchen.yml 
         from none to 93c5bd (diff output suppressed by config)
   * directory[C:/Users/vipinkumarm/VTest/test/integration/default/serverspec]
      action create
     -create new directory
         C:/Users/vipinkumarm/VTest/test/integration/default/serverspec
   
   * directory[C:/Users/vipinkumarm/VTest/test/integration/helpers/serverspec]
      action create
     -create new directory
         C:/Users/vipinkumarm/VTest/test/integration/helpers/serverspec
   
   * cookbook_file
      [C:/Users/vipinkumarm/VTest/test/integration/helpers/serverspec/sp ec_helper.rb]
      action create_if_missing
     -create new file
         C:/Users/vipinkumarm/VTest/test/integration/helpers/serverspec/spec_helper.rb
     -update content in file
         C:/Users/vipinkumarm/VTest/test/integration/helpers/serverspec/spec_helper.rb
         from none to d85df4 (diff output suppressed by config)
   
   * template
      [C:/Users/vipinkumarm/VTest/test/integration/default/serverspec/default _spec.rb]
      action create_if_missing
     -create new file
         C:/Users/vipinkumarm/VTest/test/integration/default/serverspec/default_spec.rb
     -update content in file
         C:/Users/vipinkumarm/VTest/test/integration/default/serverspec/default_spec.rb
         from none to 758b94 (diff output suppressed by config)
   
   * directory[C:/Users/vipinkumarm/VTest/spec/unit/recipes] action create
     -create new directory C:/Users/vipinkumarm/VTest/spec/unit/recipes
   
   * cookbook_file[C:/Users/vipinkumarm/VTest/spec/spec_helper.rb]
      action create_if_missing
     -create new file C:/Users/vipinkumarm/VTest/spec/spec_helper.rb
     -update content in file C:/Users/vipinkumarm/VTest/spec/spec_helper.rb
         from none to 587075 (diff output suppressed by config)
   * template[C:/Users/vipinkumarm/VTest/spec/unit/recipes/default_spec.rb]
      action create_if_missing
     -create new file C:/Users/vipinkumarm/VTest/spec/unit/recipes/default_spec.rb
     -update content in file 
         C:/Users/vipinkumarm/VTest/spec/unit/recipes/default_spec.rb
         from none to 779503 (diff output suppressed by config)
     -create new file C:/Users/vipinkumarm/VTest/recipes/default.rb
     -update content in file C:/Users/vipinkumarm/VTest/recipes/default.rb
         from none to 8cc381 (diff output suppressed by config)
   * cookbook_file[C:/Users/vipinkumarm/VTest/.gitignore] action create
     -create new file C:/Users/vipinkumarm/VTest/.gitignore
     -update content in file C:/Users/vipinkumarm/VTest/.gitignore from none to 33d469
         (diff output suppressed by config)
名为 VTest 的说明书结构将在目录中创建,以下将是相同的结构。
VTest

使用knife 工具

使用以下命令使用 Knife 实用程序创建Cookbook。
C:\Users\vipinkumarm\VTest>knife cookbook create VTest2 
WARNING: No knife configuration file found 
** Creating cookbook VTest2 in C:/chef/cookbooks 
** Creating README for cookbook: VTest2 
** Creating CHANGELOG for cookbook: VTest2 
** Creating metadata for cookbook: VTest2 
以下是Cookbook的结构。
Cookbook
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4