环境: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需要
|
1
2
3
|
yum
install yum-prioritiesrpm
-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 |
其中源可以替换为国内镜像
|
1
2
|
http://mirrors.ustc.edu.cn/fedora/epel/epel-release-latest-6.noarch.rpmhttp://mirrors.ustc.edu.cn/fedora/epel/RPM-GPG-KEY-EPEL-6 |
修改/etc/yum.repos.d/epel.repo文件
在[epel]最后添加一条属性
|
1
|
priority=11 |
意思是yum先去官方源查,官方没有再去epel的源找
2、在10.211.55.11上安装dnsmasq域名解析服务
|
1
2
3
4
5
|
yum
install dnsmasqchkconfig
dnsmasq onservice
dnsmasq startlokkit
-p 53:udp(打开iptables 53端口)echo "10.211.55.11
node01.myhost.com" >>
/etc/hosts |
修改dnsmasq.conf
|
1
2
3
4
5
|
interface=eth0listen-address=10.211.55.11bind-interfacesresolv-file=/etc/resolv.confaddn-hosts=/etc/hosts |
三台主机上分别输入
|
1
|
echo
“nameserver 10.211.55.11”
>> /etc/resolv.conf |
改主机名
|
1
2
|
vi /etc/sysconfig/network 分别改为node01.myhost.com、node02.myhost.com、node03.myhost.com |
验证DNS是否成功
|
1
2
|
netstat
-tunlp|grep 53dig
node02.myhost.com |
3、在10.211.55.11安装时间同步服务器
|
1
2
3
|
yum
install ntpchkconfig
ntpd onservice
ntpd start |
(待完善)
4、安装Puppet
安装官方源
|
1
|
rpm
-ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm |
导入GPG密钥(验证包的完整性)
|
1
|
rpm
--import http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs |
安装
|
1
2
3
4
5
|
yum
install puppet-serverservice
puppetmaster startservice
puppet startchkconfig
puppetmaster onchkconfig
puppet on |
编辑/etc/puppet/puppet.conf
|
1
2
|
[agent]server
= node01.myhost.com |
自动签名
|
1
|
cat
> /etc/puppet/autosign.conf < |
测试连接
|
1
|
puppet
agent -t |
删除证书
|
1
|
find
/var/lib/puppet/ssl -name localhost.pem -delete |
常用信息
|
1
2
3
4
5
6
7
|
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 安装
|
1
|
yum
install -y mysql mysql-devel mysql-server httpd mod_passenger puppet-dashboard |
mod_passenger是让apache支持ruby
配置:
/etc/my.cnf,
在[mysqld]字段,增加最后一行
|
1
2
|
#
Allowing 32MB allows an occasional 17MB row with plenty of spare roommax_allowed_packet
= 32M |
|
1
2
3
4
5
|
/etc/init.d/mysqld
startchkconfig
mysqld onchkconfig httpd
onservice
httpd startmysqladmin
-u root password 'password' |
创建一个dashboard数据库
|
1
|
mysql
-uroot -ppassword < |
编辑 /usr/share/puppet-dashboard/config/database.yml
|
1
2
3
4
5
6
|
production: database:
dashboard username:
dashboard password:
password encoding:
utf8 adapter:
mysql |
修改时区 /usr/share/puppet-dashboard/config/environment.rb
|
1
2
|
#config.time_zone
= 'UTC' config.time_zone
= 'Beijing' |
初始化数据库
|
1
2
|
cd
/usr/share/puppet-dashboard/rake
RAILS_ENV=production db:migrate |
配置Apache
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
cat
> /etc/httpd/conf.d/passenger.conf << EOFLoadModule
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
startchkconfig
httpd onlokkit
-p 80:tcp |
配置puppet
|
1
2
3
4
|
#
puppet.conf (on puppet master) [master] reports
= store, http reporturl
= http://node06.chenshake.com:80/reports/upload |
/etc/init.d/puppetmaster restart
导入报告
|
1
2
3
4
5
6
7
8
|
cd
/usr/share/puppet-dashboardrake
gems:refresh_specsrake
RAILS_ENV=production reports:importDelayed
Job Workersenv
RAILS_ENV=production /usr/share/puppet-dashboard/script/delayed_job -p dashboard -n 4 -m
startps
-ef|grep delayed_job|grep -v grepenv
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

本文详细介绍了在三台主机上安装Puppet和Puppet Dashboard的过程,包括安装EPEL库、设置DNS、时间同步、安装Puppet及Dashboard等步骤。
495

被折叠的 条评论
为什么被折叠?



