Chef:创建具有环境和角色的repo

时间:2017-05-29 11:00:05

标签: chef

我对与如何使用食谱,角色和环境创建厨师食谱相关的一些问题或概念感到有些困惑。

我希望直截了当地了解我期待使用厨师的事。

到目前为止,我已经能够创建一本食谱,我可以在我的目标系统中安装大量的工具。

目前,我已经创建了这个项目结构:

├───files
│   ├───elasticsearch
│   │   └───scripts
│   └───mongo
├───recipes
│   ├───default.rb
│   ├───deploys.rb
│   ├───elasticsearch.rb
│   ├───firewall.rb
│   ├───java.rb
│   ├───memcached.rb
│   ├───mongodb.rb
│   ├───net-tools.rb
│   ├───s3.rb
│   ├───security.rb
│   ├───selinux.rb
│   └───wildfly.rb
├───spec
│   └───unit
│       └───recipes
└───test
├───metadata.rb
├───knife.rb
└───Berksfile

我的命令是为了#34;提交"对厨师服务器的更改是:

berks update
berks install
berks upload --upload

到目前为止,我已经能够使用它完成所有工作。不过,我需要:

  1. 创建PROD,QA,TESTING和DEV环境。
  2. 使用角色分割我的食谱,以便能够将它们应用于单个或多个节点。
  3. 所以你可以弄清楚我需要使用一些额外的厨师功能。

    所以,首先我使用chef generate repo test -r创建了一个存储库,这就是我正在研究的结构:

    test
    ├── chefignore
    ├── cookbooks
    │   ├── example
    │   │   ├── attributes
    │   │   │   └── default.rb
    │   │   ├── metadata.rb
    │   │   ├── README.md
    │   │   └── recipes
    │   │       └── default.rb
    │   └── README.md
    ├── data_bags
    │   ├── example
    │   │   └── example_item.json
    │   └── README.md
    ├── environments
    │   ├── example.json
    │   └── README.md
    ├── LICENSE
    ├── README.md
    └── roles
        ├── example.json
        └── README.md
    

    我需要一些帮助才能使之前的文件/配方结构适应另一个:

    1. 我应该将所有现有食谱放入同一cookbook吗?我应该创建几本烹饪书吗?
    2. 从现在开始,berkshelf代表什么?
    3. 我应该在哪里设置PROD,QA,TESTING的自定义属性值......它们是如何应用的?
    4. 我应该何时在其中创建cookbook或创建recipe

0 个答案:

没有答案