linux分享Puppet的安装部署

magedu_linux01 发布于 2014/08/28 18:57
阅读 592
收藏 2

【Gopher China万字分享】华为云的Go语言云原生实战经验!>>>

环境: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  ##factorpuppet提供内置工具,可以获取客户端的变量

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 安装ruby,Puppet是用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.没有添加puppet,server端启动不成功

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 安装Mysql与Mysql-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    ##到这可能会报错,gemrails的版本可能不兼容, 

我选择了降级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即可

 

 

加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部