温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

新手如何用Chef做运维

发布时间:2026-09-12 16:35:21 来源:亿速云 阅读:86 作者:小樊 栏目:系统运维

Chef 是一个**基础设施即代码(Infrastructure as Code, IaC)的自动化配置管理工具,适合用来批量管理服务器(安装软件、配置文件、用户、服务等等)。
下面用
「新手视角 + 实操路线」**给你讲:新手如何用 Chef 做运维。


一、先搞清楚 Chef 是干嘛的

一句话:

Chef 让你用代码(Ruby 风格)描述“服务器应该是什么状态”,然后自动把服务器变成那样。

常见用途:

  • 自动装 Nginx / MySQL / Docker
  • 统一服务器配置
  • 批量管理 10~1000 台机器
  • 环境一致性(开发 = 测试 = 生产)

二、Chef 的核心概念(必须懂)

1️⃣ Chef Server

  • 中心服务器
  • 存 Recipe、Node 信息
  • 新手可用 Chef Zero(本地模式,不用 Server)

2️⃣ Chef Workstation

  • 你写代码的地方(你自己的电脑)
  • 安装 chef-workstation

3️⃣ Chef Client

  • 被管理的服务器
  • 定期向 Server 拉配置并执行

4️⃣ Recipe(配方)

  • 最核心
  • 描述“做什么”
package 'nginx' do
  action :install
end

service 'nginx' do
  action [:enable, :start]
end

5️⃣ Cookbook(菜谱)

  • 多个 Recipe + 配置 + 模板
  • 一个功能一个 Cookbook

三、新手最推荐的起步方式(重要)

不要一上来就搭 Chef Server
先用 Chef Solo / Chef Zero 本地练手

推荐路线

本地写 Cookbook
→ 用 chef-client --local
→ 再学 Server

四、新手实操步骤(手把手)

步骤 1:安装 Chef Workstation

# macOS
brew install chef-workstation

# Linux
curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P chef-workstation

验证:

chef --version

步骤 2:生成一个 Cookbook

chef generate cookbook my_first_cookbook
cd my_first_cookbook

目录结构:

recipes/
  default.rb

步骤 3:写第一个 Recipe

编辑 recipes/default.rb

package 'nginx' do
  action :install
end

service 'nginx' do
  action [:enable, :start]
end

步骤 4:本地执行(不需要 Server)

sudo chef-client --local-mode --runlist 'recipe[my_first_cookbook]'

✅ 服务器自动装好并启动 Nginx


五、常用资源(新手必学)

资源 作用
package 装软件
service 管理服务
file 管理文件
template 配置文件模板
user 用户管理
execute 执行命令

示例:

file '/tmp/hello.txt' do
  content 'Hello Chef'
end

六、新手常见坑

❌ 一上来就学 Chef Server
✅ 先本地跑通

❌ 把 Shell 脚本直接丢进 Chef
✅ 用 Chef 资源描述“状态”

❌ 一台机器一个写法
✅ 用 Role / Attribute 管理差异


七、学习路线建议(3 周入门)

第 1 周

  • Chef 概念
  • 写 Recipe
  • 本地执行

第 2 周

  • Cookbook 结构
  • template / attribute
  • 管理多台机器

第 3 周

  • Chef Server / Policyfile
  • 结合 CI(Git + Chef)

八、适合新手的替代方案(了解)

如果觉得 Chef 太重:

  • Ansible(更简单,推荐对比)
  • SaltStack
  • Terraform(偏资源创建)

如果你愿意,我可以:

  • ✅ 给你一个 “新手 Chef 实战案例”
  • ✅ 对比 Chef vs Ansible
  • ✅ 帮你写 第一个生产可用 Cookbook

你现在是 完全零基础,还是 有 Linux/运维基础

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI