CentOS 6.3下安装部署CHEF环境教程

2020-01-30 13:41:32王振洲

一.前言:

初识Chef,我们可以先了解一下DevOps运动http://zh.wikipedia.org/wiki/DevOps,简单点说,就是传统的软件组织将开发、IT运营和质量保障设为各自分离的部门,而DevOps运动的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

所以Chef简单点说,就是DevOps运动中的一项重要工具成员,是一个同时面向开发与运维的集中管理工具。

就服务器的集中管理工具而言,知名度与Chef平分天下的是叫“Puppet”的工具,它们是OSS知名度排名最前的2个。

想像一下我们现在需要搭建一台MySQL Database Slave服务器,安装过程我们手动操作了没过多久,又需要第二台,这时候我们会想,如果之后安装第一台的时候把操作过程执行的命令写成脚本,现在安装第二台,运行一下脚本就行了,节约时间而且不容易出错。

Chef就相当于这样的一个脚本管理工具,但功能要强大得多,可定制性强,Chef将脚本命令代码化,定制时只需要修改代码,安装的过程就是执行代码的过程。打个比方,Chef就像一个制作玩具的工厂,它可以把一些原材料做成漂亮的玩具,它有一些模板,你把原材料放进去,选择一个模板(比如怪物史莱克),它就会制造出这个玩具,服务器的配置也是这样,一台还没有配置的服务器,你给它指定一个模板(role或recipe),Chef就会把它配置成你想要的线上服务器。

Chef使用服务器—客户端模式管理所有需要配置的机器,使用Chef涉及至少三台机器:
一台开发机器(Workstation),在上面编写大餐的做法;

一台Chef服务器(server),管理所有要配置的Chef客户端,给它们下发配置信息;
多台Chef客户端(Node),就是我将要烹调出的大餐。

操作系统:CentOS-6.3-x86-64

CHEF:   chef-server-11.0.12-1.el6.x86_64
Server :     10.107.91.251 (chef.example.com)
Workstation:     10.107.91.251 (chef.example.com)
node:         10.107.91.252 (node1.example.com)   

二.安装前的准备:(chef.example.com,node1.example.com)

1.关闭iptables

复制代码
# service iptables stop

2.关闭SELINUX

复制代码
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
---------------

3.同步时间(重要)

复制代码
# ntpdate asia.pool.ntp.org
# hwclock -w

4.安装ruby环境:
详见: https://www.jb51.net/article/54981.htm

三.chef-server安装:(chef.example.com)

1.下载chef-server安装包

进入页面http://www.opscode.com/chef/install,点击Chef Server标签,选择要下载的版本