您的位置:首页 > 其它

Puppet的安装部署

2016-11-24 09:53 253 查看
Puppet的安装部署

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

主机规划:
server.laoguang.me  192.168.12.117
client.laoguang.me  192.168.12.161


一.安装前准备,很必要

1.1 hostname与IP映射写入/etc/hosts
echo "
192.168.12.117  server.laoguang.me  server
192.168.12.161  client.laoguang.me  client
" >> /etc/hosts

scp /etc/hosts client:/etc/


1.2 同步时间,这个很重要
yum -y install ntp
ntpdate ntp.api.bz


二.安装puppet

2.1 软件准备
factor  ##factor是puppet提供内置工具,可以获取客户端的变量
wget http://puppetlabs.com/downloads/facter/facter-1.6.7.tar.gz puppet
wget http://puppetlabs.com/downloads/puppet/puppet-2.7.13.tar.gz


2.2 安装ruby,Puppet是用ruby写的
yum -y install ruby


2.3 安装facter
tar zxvf facter-1.6.4.tar.gz
cd facter-1.6.4
ruby install.rb


2.3 安装Puppet
cd ..
tar zxvf puppet-2.7.6.tar.gz
cd puppet-2.7.6
ruby install.rb


2.4 添加puppet用户
useradd -s /sbin/nologin puppet


2.5 拷贝需要的配置文件
cd conf/redhat/
cp puppet.conf /etc/puppet/
cp fileserver.conf /etc/puppet/
cp logrotate /etc/puppet/
cp server.sysconfig /etc/sysconfig/puppetmaster
cp server.init /etc/init.d/puppetmaster


三.配置与测试

3.1 修改配置文件

server端不用修改

client端:
vim /etc/puppet/puppet.conf

[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
[agent]
classfile = $vardir/classes.txt
serverserver = server.laoguang.me   ##定义server
report = true                 ##状态报告
runinterval = 180             ##client更新时间间隔
localconfig = $vardir/localconfig


3.2 测试

server端前台启动,便于查看日志:
puppet master --no-daemonize --debug --verbose


client验证:
puppetd --test --server server.laoguang.me


server端查看是否收到签名请求:
puppet cert --list
client.laoguang.me (xx:xx:xx:xx:xx:xx:--)


server端为client签名
puppet cert -s client.laoguang.me


client端获取server关于对client的配置,并应用
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的有兼容问题
wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2012.02.tar.gz

2.readline-devel ##ruby依赖,我的源里没有它所以
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依赖
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 ##我们目的要安装的
wget http://downloads.puppetlabs.com/dashboard/puppet-dashboard-1.2.7.tar.gz

4.2 安装ruby-enterprise-1.87
先安装依赖包
rpm -ivh libtermcap-devel-2.0.8-46.1.x86_64.rpm readline-devel-5.1-3.el5.i386.rpm

解压安装ruby
tar xvf ruby-enterprise-1.8.7-2012.02.tar.gz
ruby-enterprise-1.8.7-2012.02
./installer
<Enter>
[/opt/ruby-enterprise-1.8.7-2012.02] : /usr/local/ruby     ##更改安装目录
<Enter>

更改环境变量:
vim /etc/profile.d/ruby.sh
export PATH=$PATH:/usr/local/ruby/bin

. /etc/profile.d/ruby.sh

添加别名
vim /root/.bashrc
alias ruby='/usr/local/ruby/bin/ruby'
. /root/.bashrc

查看版本
ruby -v
ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358)
[x86_64-linux], MBARI 0x6770,Ruby Enterprise Edition 2012.02

4.3 安装其它工具
gem install ruby-mysql
gem install rake
gem install rails

4.4 安装Mysql与Mysql-server
yum -y install mysql-devel mysql mysql-server

启动Mysql
service mysqld start

建立数据库
mysql
mysql> create database dashboard default charset utf8;
mysql> grant all on dashboard.* to 'dashboard'@'localhost' identified by 'redhat';
mysql> flush privileges;

4.5 安装dashboard
tar xvf puppet-dashboard-1.2.7.tar.gz
mv puppet-dashboard-1.2.7 /usr/local/puppet-dashboard
cd /usr/local/puppet-dashboard

编辑配置文件
cp config/database.yml.example config/database.yml
vim config/database.yml

production:
database: dashboard
username: dashboard
password: "redhat"
encoding: utf8
adapter: mysql      #如果mysql-server在其它主机,可增加host:段

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

我选择了降级gem
gem update --system 1.5.3   ##降级gem

重新执行
rake RAILS_ENV=production db:create     ##需在/usr/local/puppet-dashboard下运行
rake RAILS_ENV=production db:migrate

如果执行正常,那么恭喜你
启动dashboard
/usr/local/puppet-dashboard/script/server -e production -d
=> Booting WEBrick
=> Rails 2.3.14 application starting on http://0.0.0.0:3000

访问http://ip:3000即可



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  puppet iptables