Chef 实战案例(从零开始入门cookbook)【系列教程二】
在上一章节中已经完成了Chef基础环境的安装,Chef基础环境搭建参考 Chef安装教程【系列教程一】,本章节开始从零开始入门cookbook,以最简单的实例阐述cookbook从编写到执行的整个过程。
本实战案例场景:通过workstation(192.168.0.39)编写cookbook来操作chefnode(192.168.0.40)节点。
从零开始入门 Cookbook
- 创建cookbook(workstation执行)
# 1.创建 first_cookbook
cd /opt/chef-data/chef-repo/cookbooks
chef generate cookbook first_cookbook
# 2.编写
vim first_cookbook/recipes/default.rb
# 内容如下:(执行 `ifconfig` 将其结果写到 `/root/ifconfig.txt`文件中 )
execute 'repo_ifconfig' do
command 'ifconfig >> /root/ifconfig.txt'
ignore_failure true
end
- 上传cookbook(workstation执行)
# 1.上传cookbook至Chef Server
cd /opt/chef-data/chef-repo/cookbooks
knife cookbook upload first_cookbook
# 2.查看cookbook列表
knife cookbook list
- 添加cookbook到目标节点(workstation执行)
cd /opt/chef-data/chef-repo/cookbooks
knife node run_list add chefnode first_cookbook
- 执行cookbook(chefnode执行)
chef-client
- 验证结果(chefnode执行)
# 1.查看ifconfig.txt文件是否生成
ls /root
# 2.查看ifconfig.txt内容
cat /root/ifconfig.txt
总结
上述案例很简单,麻雀虽小五脏俱全,适合入门级,入门之后在进行扩展练习,进行更复杂的操作。