Chef 安装使用介绍

最近在用chef做openstack的安装,今天把安装过程记录一下,供大家参考。

我们知道,chef工作需要三台机器(当然,也可以把这三个部分安装到一台机器上。)chef server, chef workstation 和 node.

chef server 是chef主程序存放的机器,也存放一下chef的cookbook,role之类的数据。chef workstation相当于操作chef server的命令行。而node就是你想安装部署一些软件的机器,在这里就是指安装openstack的机器。原理上来说,这三个部分都可以安装到一台机器上,但是为了可以重复利用node来做安装部署,我把chef server和chef workstation放在了一台机器上,而node用另外一台机器。这样,在安装之前先给node做snapshot,所以即使安装失败或者出现什么其他的问题,我也可以很容易的恢复node到最初状态,然后继续运行chef。

1. 现在开始安装chef server(我的两台机器都是KVM的虚机,redhat 6.5)。

1)登陆到当做chef server的机器上。比如ip是172.168.100.100,hostname是chef-server。配置/etc/hosts,添加如下两行(我的chef node是172.168.100.101):

172.168.100.100 chef-server

172.168.100.101 chef-node

2)下载chef server的安装包(可以选择最新的版本)。https://opscode-omnitruck-release.s3.amazonaws.com/el/6/x86_64/chef-server-11.0.6-1.el6.x86_64.rpm

3)安装rpm包。运行: rpm -ivh chef-server-11.0.6-1.el6.x86_64.rpm

4)运行命令: chef-server-ctl reconfigure

5)配置chef server。运行 vi /etc/chef-server/chef-server.rb

server_name = '172.168.100.100'

api_fqdn server_name
nginx['url'] = "https://#{server_name}"
nginx['server_name'] = server_name
bookshelf['vip'] = server_name
 
6)运行命令: chef-server-ctl reconfigure

********************************这样chef server就安装好了。*******************************

2. 接下来安装chef workstation。

1)同样还是在172.168.100.100上。下载chef client的安装包。https://opscode-omnitruck-release.s3.amazonaws.com/el/6/x86_64/chef-11.4.0-1.el6.x86_64.rpm

2)安装rpm包。运行: rpm -ihv chef-11.4.0-1.el6.x86_64.rpm

3)创建workstation的目录。运行: mkdir /root/chef

4)进入/root/chef里,创建.chef目录。运行: mkdir .chef

5)把chef server的认证文件拷贝到.chef 目录里。运行:

cd /root/chef/.chef

cp /etc/chef-server/admin.pem .

cp /etc/chef-server/chef-validator.pem .

cp /etc/chef-server/chef-webui.pem .

6)编辑knife的配置文件。依然是在.chef目录里,运行vi knife.rb,加入如下行:

log_level                :info
log_location             STDOUT
node_name 'admin'
client_key               '/root/chef/.chef/admin.pem'
validation_client_name   'chef-validator'
validation_key           '/root/chef/.chef/chef-validator.pem'
chef_server_url          'https://172.168.100.100'
cache_type               'BasicFile'
syntax_check_cache_path  '/var/chef/chef-repo/.chef/syntax_check_cache'

cookbook_path      ['root/chef/cookbooks']

7)运行如下命令检查chef client:

knife client list

knifle user list

knife node list

*************************************************这样chef workstation就安装好了************************************************

3 安装chef node。(安装之前需要先关闭两台机器的防火墙。运行:service iptables stop)在workstation的目录里运行:

knife bootstrap chef-node -x root -P passw0rd

运行这个命令以后,chef server会从官网上下载chef client安装到node上,但是速度极其缓慢。用户可以自己手动下载chef client的rpm包,安装以后再运行knife bootstrap就会很快了。

运行完knife bootstrap以后,运行knife node list就可以看到chef-node了

*************************************************这样chef node就安装好了********************************************************

现在我们就可以在/root/chef/cookbooks里编写自己的cookbook然后运行了。cookbook的编写和运行会在下一篇文章里介绍。

 

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页