Chef infra 厨师长环境概念
我需要了解两个概念:Chef infra 厨师长环境概念,chef-infra,Chef Infra,我需要了解两个概念:角色和环境。我知道他们代表什么,但我不太明白: 我应该在哪里设置它们?在我的工作站上,然后我需要上传它们?或者我必须在我的厨师服务器上定义它们 我的recipes文件夹中有几个食谱。我应该在哪里定义角色 编辑 目前,我正在使用此文件夹结构: ├───.delivery │ └───build_cookbook │ ├───data_bags │ │ └───keys │ ├───recipes │ ├───secre
角色
和环境
。我知道他们代表什么,但我不太明白:
- 我应该在哪里设置它们?在我的工作站上,然后我需要上传它们?或者我必须在我的厨师服务器上定义它们
- 我的
文件夹中有几个食谱。我应该在哪里定义角色recipes
├───.delivery
│ └───build_cookbook
│ ├───data_bags
│ │ └───keys
│ ├───recipes
│ ├───secrets
│ └───test
│ └───...
├───.kitchen
│ ├───kitchen-vagrant
│ │ ├───kitchen-development-default-centos-72
│ │ │ └───...
│ │ └───kitchen-development-default-ubuntu-1604
│ │ └───...
│ └───logs
├───files
│ ├───elasticsearch
│ │ └───scripts
│ └───mongo
├───recipes
├───spec
│ └───unit
│ └───recipes
└───test
├───integration
│ └───data_bags
│ └───aws
└───smoke
└───default
我正在使用berkself
来管理包cookbook依赖项,并将我的“cookbook”或“recipe”上传到我的chef服务器
为了使用环境,我应该更改什么…角色和环境分别存储在
角色
和环境
目录中
基础设施上的所有代码和json数据都应该存储在chef repo中。如果您在您的工作站上安装了chef dk()(我强烈建议),您可以使用chef generate repo
命令生成这样的chef repo。这种回购协议的结构如下所示,即使不使用chef generate
(README
文件是可选的:):
然后,你可以使用
knife upload
上传这些目录(文件或整个文件夹)中的任何内容。你能看看我编辑的帖子吗?我正在使用berks
。为了适应我目前的项目结构,你能给我一些建议吗?请记住,我需要使用环境和角色。我是否应该在当前项目结构中添加一个角色
和一个环境
文件夹。我应该重新创建一个新的项目结构吗?
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