freeCodeCamp/guide/chinese/developer-tools/chef/index.md

74 lines
3.0 KiB
Markdown
Raw Normal View History

---
title: Chef
localeTitle: 领导者
---
## 厨师
Chef是一种自动化工具可将基础架构转换为代码。换句话说它是一种用于自动创建和配置基础结构的工具。它还用于在创建基础结构后维护它。
### 为何使用Chef
在完全完成并经过测试的应用程序投入生产之前,需要考虑几件事情。一些主要的事情是,
* 基础设施创建(云或内部部署)
* 组态
* 维护基础设施
您可以手动创建基础架构,对其进行配置和维护。这是一个非常繁琐的过程,犯错误的可能性很高。任何手册都需要大量关注细节,在团队中进行其他培训,并不断关注它以确保一切按预期工作。如果您的应用程序快速发展,那么每次进入生产时您都必须手动完成所有这些工作。
Chef是一个有助于自动执行此过程的工具。您为您的基础架构编写代码chef使用_Ruby_ )并对其进行源代码控制。 Chef将阅读此代码以自动创建和配置您的基础架构。使用Chef的优点是
* 基础架构创建和配置自动化
* 监控和维护是自动化的
* 错误的可能性微不足道
* 基础设施受源控制
* 快速且经常地部署应用程序
### 大图和组件
![Chef big picture](https://docs.chef.io/_images/chef_overview.svg "厨师概述")
主要组成部分是,
* 食谱和食谱
* 节点
* 工作站
* 厨师服务器
* 厨师客户
#### 食谱和食谱
Cookbook是配置的基本单位。它定义了一个场景并包含支持该场景所需的所有内容。 Cookbook包含以下内容
* 食谱
* 属性值
* 文件分发
* 模板
* 自定义资源和库的扩展
配方是最基本的配置元素。它使用_Ruby_编写包含配置系统所需的一组资源。它必须存储在食谱中。
#### 节点
节点是由Chef管理的任何计算机。它可以是物理虚拟网络设备等。
#### 工作站
工作站大图中的蓝色区域是运行Chef Development KitChefDK的计算机用于开发和测试烹饪书和食谱。基本上它是您的本地计算机您可以在其中编写和测试稍后用于自动化基础结构的Chef脚本。 Workstation的Chef脚本在准备好后上传到Chef Server。
#### 厨师服务器
厨师服务器充当配置数据的中心。它存储基础结构创建和配置所需的所有配置数据,如烹饪书,配方,模板和文件分发。
#### 厨师客户
Chef Client是在Chef管理的每个节点上本地运行的代理。它与Chef Server通信以获取配置节点所需的配置数据。 Chef客户端负责运行所有必需的步骤以使节点进入预期状态。不同的步骤包括
* 使用Chef服务器注册和验证节点
* 同步Cookbook
* 编译并运行所需的配方
* 处理异常和通知
#### 更多信息:
可以在此处找到更详细的文档 - [Chef文档](https://docs.chef.io/chef_overview.html "厨师")