您的位置:首页 > 运维架构 > Linux

Puppet3在CentOS6.5集群下的安装

2015-08-20 16:37 459 查看
环境:3台主机,

IP分别为10.211.55.11、12、13

puppet master安装在10.211.55.11

puppet agent安装在10.211.55.11、12、13

1、安装EPEL库 后面安装puppet Dashboard需要

yum install yum-priorities
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm —import https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6[/code] 
其中源可以替换为国内镜像

http://mirrors.ustc.edu.cn/fedora/epel/epel-release-latest-6.noarch.rpm http://mirrors.ustc.edu.cn/fedora/epel/RPM-GPG-KEY-EPEL-6[/code] 
修改/etc/yum.repos.d/epel.repo文件

在[epel]最后添加一条属性

priority=11


意思是yum先去官方源查,官方没有再去epel的源找

2、在10.211.55.11上安装dnsmasq域名解析服务

yum install dnsmasq
chkconfig dnsmasq on
service dnsmasq start
lokkit -p 53:udp(打开iptables 53端口)
echo "10.211.55.11 node01.myhost.com" >> /etc/hosts


修改dnsmasq.conf

interface=eth0
listen-address=10.211.55.11
bind-interfaces
resolv-file=/etc/resolv.conf
addn-hosts=/etc/hosts


三台主机上分别输入

echo “nameserver 10.211.55.11” >> /etc/resolv.conf


改主机名

vi /etc/sysconfig/network
分别改为node01.myhost.com、node02.myhost.com、node03.myhost.com


验证DNS是否成功

netstat -tunlp|grep 53
dig node02.myhost.com


3、在10.211.55.11安装时间同步服务器

yum install ntp
chkconfig ntpd on
service ntpd start


(待完善)

4、安装Puppet

安装官方源

rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm[/code] 
导入GPG密钥(验证包的完整性)

rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs[/code] 
安装

yum install puppet-server
service puppetmaster start
service puppet start
chkconfig puppetmaster on
chkconfig puppet on


编辑/etc/puppet/puppet.conf

[agent]
server = node01.myhost.com


自动签名

cat > /etc/puppet/autosign.conf <
*.myhost.com
EOF


测试连接

puppet agent -t


删除证书

find /var/lib/puppet/ssl -name localhost.pem -delete


常用信息

puppet cert list -all(查看所有证书)
cat /etc/sysconfig/puppet(默认配置)
/var/lib/puppet (agent证书位置)
/etc/puppet/puppet.conf (配置文件)
/usr/share/puppet (安装位置)
puppet config print modulepath(查看模块位置)
puppet agent -t --summarize(查看报告)


5、安装Dashboard 安装

yum install -y mysql mysql-devel mysql-server httpd mod_passenger puppet-dashboard


mod_passenger是让apache支持ruby

配置:

/etc/my.cnf,

在[mysqld]字段,增加最后一行

# Allowing 32MB allows an occasional 17MB row with plenty of spare room
max_allowed_packet = 32M


/etc/init.d/mysqld start
chkconfig mysqld on
chkconfig httpd  on
service httpd start
mysqladmin -u root password 'password'


创建一个dashboard数据库

mysql -uroot -ppassword <<EOF

CREATE DATABASE dashboard CHARACTER SET utf8;
CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost';
FLUSH PRIVILEGES;
EOF


编辑 /usr/share/puppet-dashboard/config/database.yml

production:
database: dashboard
username: dashboard
password: password
encoding: utf8
adapter: mysql


修改时区 /usr/share/puppet-dashboard/config/environment.rb

#config.time_zone = 'UTC'
config.time_zone = 'Beijing'


初始化数据库

cd /usr/share/puppet-dashboard/
rake RAILS_ENV=production db:migrate


配置Apache

cat > /etc/httpd/conf.d/passenger.conf << EOF
LoadModule passenger_module modules/mod_passenger.so

PassengerRoot /usr/share/rubygems/gems/passenger-3.0.17
PassengerRuby /usr/bin/ruby

PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
PassengerStatThrottleRate 120
RailsAutoDetect On

ServerName node01.myhost.com
DocumentRoot "/usr/share/puppet-dashboard/public/"
<Directory "/usr/share/puppet-dashboard/public/">
Options None
AllowOverride AuthConfig
Order allow,deny
allow from all

ErrorLog /var/log/httpd/node01.myhost.com_error.log
LogLevel warn
CustomLog /var/log/httpd/node06.chenshake.com_access.log combined
ServerSignature On

EOF

/etc/init.d/httpd start
chkconfig httpd on
lokkit -p 80:tcp


配置puppet

# puppet.conf (on puppet master)
[master]
reports = store, http
reporturl = http://node06.chenshake.com:80/reports/upload[/code] 
/etc/init.d/puppetmaster restart

导入报告

cd /usr/share/puppet-dashboard
rake gems:refresh_specs
rake RAILS_ENV=production reports:import

Delayed Job Workers
env RAILS_ENV=production /usr/share/puppet-dashboard/script/delayed_job -p dashboard -n 4 -m start
ps -ef|grep delayed_job|grep -v grep
env RAILS_ENV=production /usr/share/puppet-dashboard/script/delayed_job -p dashboard -n 4 -m stop


这个时候你才能在Dashbaord里看到数据

6、安装Foreman (待完善)

参考:
http://www.chenshake.com/puppet-study-notes/ http://acooly.iteye.com/blog/1993484
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: