标签:
环境: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
其中源可以替换为国内镜像
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
修改/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 导入GPG密钥(验证包的完整性) rpm --import http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs 安装
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 <
测试连接 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 <
编辑 /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
/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
标签:
原文地址:http://www.cnblogs.com/carsonz/p/4745644.html