马哥linux干货分享Puppet的安装部署

小小295813080 发布于 2014/08/28 18:12
阅读 1K+
收藏 5

http://www.magedu.com/

环境:CoentOS 5.8 x86_64 ,selinux,iptables 已经关闭

主机规划:

1.  server.laoguang.me  192.168.12.117 

2.  client.laoguang.me  192.168.12.161 

.安装前准备,很必要

1.1 hostname与IP映射写入/etc/hosts

1.  echo " 

2.  192.168.12.117  server.laoguang.me  server 

3.  192.168.12.161  client.laoguang.me  client 

4.  " >> /etc/hosts 

5.   

6.  scp /etc/hosts client:/etc/ 

1.2 同步时间,这个很重要

1.  yum -y install ntp 

2.  ntpdate ntp.api.bz    

.安装puppet 

2.1 软件准备

1.  factor  ##factor是puppet提供内置工具,可以获取客户端的变量

2.  wget http://puppetlabs.com/downloads/facter/facter-1.6.7.tar.gz 

3.  puppet 

4.  wget http://puppetlabs.com/downloads/puppet/puppet-2.7.13.tar.gz 

2.2 安装rubyPuppet是用ruby写的

1.  yum -y install ruby 

2.3 安装facter

1.  tar zxvf facter-1.6.4.tar.gz 

2.  cd facter-1.6.4 

3.  ruby install.rb 

2.3 安装Puppet

1.  cd .. 

2.  tar zxvf puppet-2.7.6.tar.gz 

3.  cd puppet-2.7.6 

4.  ruby install.rb 

2.4 添加puppet用户

1.  useradd -s /sbin/nologin puppet 

2.5 拷贝需要的配置文件 

1.  cd conf/redhat/ 

2.  cp puppet.conf /etc/puppet/ 

3.  cp fileserver.conf /etc/puppet/ 

4.  cp logrotate /etc/puppet/ 

5.  cp server.sysconfig /etc/sysconfig/puppetmaster 

6.  cp server.init /etc/init.d/puppetmaster 

.配置与测试

3.1 修改配置文件

server端不用修改

client端:

1.  vim /etc/puppet/puppet.conf 

2.   

3.  [main] 

4.      logdir = /var/log/puppet 

5.      rundir = /var/run/puppet 

6.      ssldir = $vardir/ssl 

7.  [agent] 

8.      classfile = $vardir/classes.txt 

9.      serverserver = server.laoguang.me   ##定义server  

10.     report = true                 ##状态报告 

11.     runinterval = 180             ##client更新时间间隔 

12.     localconfig = $vardir/localconfig 

3.2 测试   

server端前台启动,便于查看日志:

1.  puppet master --no-daemonize --debug --verbose 

client验证:    

1.  puppetd --test --server server.laoguang.me  

server端查看是否收到签名请求:

1.  puppet cert --list  

2.    client.laoguang.me (xx:xx:xx:xx:xx:xx:--) 

server端为client签名

1.  puppet cert -s client.laoguang.me 

client端获取server关于对client的配置,并应用

1.  pupppet --test --server server.laoguang.me 

到此部署完毕!

 

遇到的问题:

1.没有添加puppetserver端启动不成功

2.没有同步时间,无法签名,同步时间后删除/var/lib/puppet/ssl/下的所有文件,重新验证

 

感受:安装比较简单,以后的具体配置很复杂啊,埋头苦干吧

 

更新:部署puppet web管理查看界面puppet-dashboard

 

.部署dashboard

4.1 软件准备

1.ruby-enterprise-1.8.7 ##系统自带的1.8.5的有兼容问题

1.  wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2012.02.tar.gz 

2.readline-devel ##ruby依赖,我的源里没有它所以

1.  wget ftp://rpmfind.net/linux/centos/5.9/os/i386/CentOS/readline-devel-5.1-3.el5.i386.rpm        ##x64可用 

3.libtermcap-devel   ##readline-devel依赖

1.  wget ftp://rpmfind.net/linux/centos/5.8/os/x86_64/CentOS/libtermcap-devel-2.0.8-46.1.x86_64.rpm 

4.puppet-dashboard-1.2.7   ##我们目的要安装的

1.  wget http://downloads.puppetlabs.com/dashboard/puppet-dashboard-1.2.7.tar.gz 

4.2 安装ruby-enterprise-1.87

先安装依赖包

1.  rpm -ivh libtermcap-devel-2.0.8-46.1.x86_64.rpm readline-devel-5.1-3.el5.i386.rpm 

解压安装ruby

1.  tar xvf ruby-enterprise-1.8.7-2012.02.tar.gz  

2.  ruby-enterprise-1.8.7-2012.02 

3.  ./installer  

4.  <Enter> 

5.  [/opt/ruby-enterprise-1.8.7-2012.02] : /usr/local/ruby     ##更改安装目录 

6.  <Enter> 

更改环境变量:

1.  vim /etc/profile.d/ruby.sh 

2.  export PATH=$PATH:/usr/local/ruby/bin 

3.   

4.  . /etc/profile.d/ruby.sh 

添加别名

1.  vim /root/.bashrc 

2.  alias ruby='/usr/local/ruby/bin/ruby' 

3.  . /root/.bashrc 

查看版本

1.  ruby -v 

2.  ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) 

3.  [x86_64-linux], MBARI 0x6770,Ruby Enterprise Edition 2012.02 

4.3 安装其它工具

1.  gem install ruby-mysql 

2.  gem install rake 

3.  gem install rails 

4.4 安装MysqlMysql-server

1.  yum -y install mysql-devel mysql mysql-server 

启动Mysql

1.  service mysqld start 

建立数据库

1.  mysql 

2.  mysql> create database dashboard default charset utf8; 

3.  mysql> grant all on dashboard.* to 'dashboard'@'localhost' identified by 'redhat'; 

4.  mysql> flush privileges; 

4.5 安装dashboard

1.  tar xvf puppet-dashboard-1.2.7.tar.gz 

2.  mv puppet-dashboard-1.2.7 /usr/local/puppet-dashboard 

3.  cd /usr/local/puppet-dashboard 

编辑配置文件

1.  cp config/database.yml.example config/database.yml 

2.  vim config/database.yml 

3.   

4.  production: 

5.    database: dashboard 

6.    username: dashboard 

7.    password: "redhat" 

8.    encoding: utf8 

9.    adapter: mysql      #如果mysql-server在其它主机,可增加host:段 

 生成表

1.  rake RAILS_ENV=production db:create    ##到这可能会报错,gem与rails的版本可能不兼容, 

我选择了降级gem

1.  gem update --system 1.5.3   ##降级gem 

重新执行

1.  rake RAILS_ENV=production db:create     ##需在/usr/local/puppet-dashboard下运行 

2.  rake RAILS_ENV=production db:migrate 

如果执行正常,那么恭喜你

启动dashboard

1.  /usr/local/puppet-dashboard/script/server -e production -d 

2.  => Booting WEBrick 

3.  => Rails 2.3.14 application starting on http://0.0.0.0:3000    

访问http://ip:3000即可

加载中
0
暗黑茶杯
暗黑茶杯
Fedora 有人用吗?
0
orangleliu
orangleliu
马哥的广告真厉害
返回顶部
顶部