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