# Chef組件
在了解Chef如何工作之前,讓我們先了解一下Chef中的一些基本概念。
### Chef的基本概念
Chef由三大組件組成: Chef Server、Chef Workstation、Chef Node。
-
Chef Server
核心服務器。 維護一套配置腳本(Cookbook),與每個節點(Node)交互并給出配置指令。
-
Chef Workstation
顧名思議, Chef工作站, 它提供了我們與Chef Server的交互接口。 我們在Chef Workstation上面創建定義Cookbook,并將Cookbook上傳到Chef Server,說白了,就是我們的工作筆記本的Chef環境。
-
Chef Node
Node,節點,是被安裝了chef-client并注冊到Chef Server的管理節點,也就是我們要用Chef來配置的具體對象,可以是物理機、虛擬機或其他對象。Chef Node每次運行chef-client時都會從Chef Server端取得最新的配置指令(Cookbook)并按照指令配置自己。
一套 Chef 環境包含一個 Chef Server,至少一個 Chef Workstation,以及一到多個 Chef Node。

*chef組件關系圖*
- 序
- Chapter 1: 初識Chef
- 一些背景
- Chef vs Puppet
- Chapter 2: Chef應用
- Chef架構
- Chef能做什么
- Chef組件
- Chef環境安裝
- chef-server
- opscode-chef
- chef-solo
- Chef實戰
- 實戰前的必修理論
- 使用Chef
- Chapter 3: Ruby基礎
- 對象與方法
- 標識符
- 類與模塊
- 數據類型
- 真與假
- 控制語句
- 代碼塊
- Chapter 4: Chef源碼架構
- Rubygems與gem
- bundler
- Chef源碼組織
- Chapter 5: Rails基礎
- Rails是什么
- MVC架構
- Restful
- Rails組成與項目結構
- Chapter 6: Chef Server WebUI
- Chef Server Webui組織結構
- Chef Rest API
- 參考