环境: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-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
|
其中源可以替换为国内镜像
1
2
|
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]最后添加一条属性
意思是yum先去官方源查,官方没有再去epel的源找
2、在10.211.55.11上安装dnsmasq域名解析服务
1
2
3
4
5
|
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
1
2
3
4
5
|
interface =eth0
listen-address= 10.211 . 55.11
bind-interfaces
resolv-file=/etc/resolv.conf
addn-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 53
dig
node02.myhost.com
|
3、在10.211.55.11安装时间同步服务器
1
2
3
|
yum
install ntp
chkconfig
ntpd on
service
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-server
service
puppetmaster start
service
puppet start
chkconfig
puppetmaster on
chkconfig
puppet on
|
编辑/etc/puppet/puppet.conf
1
2
|
[agent]
server
= node01.myhost.com
|
自动签名
1
|
cat
> /etc/puppet/autosign.conf <
|
测试连接
删除证书
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 room
max_allowed_packet
= 32M
|
1
2
3
4
5
|
/etc/init.d/mysqld
start
chkconfig
mysqld on
chkconfig httpd
on
service
httpd start
mysqladmin
-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 << 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
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-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
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-13 07:05:55