lidonghe 发表于 2015-11-26 08:55:38

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_namenginx['url'] = "https://#{server_name}"nginx['server_name'] = server_namebookshelf['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的编写和运行会在下一篇文章里介绍。
  
页: [1]
查看完整版本: Chef 安装使用介绍