首页 > 代码库 > CentOS6.5+puppet3.7.3 安装、配置及测试(三)

CentOS6.5+puppet3.7.3 安装、配置及测试(三)

5.在服务端安装puppet的dashboard    
安装mysql

1 /* ---示例代码----*/    
2    
3    
4 [root@master ~]# yum install -y mysql mysql-devel mysql-server    
5    
6 =======================省略线==================================================    
7    
8 Installed:    
9    
10 mysql.x86_64 0:5.1.73-3.el6_5 mysql-devel.x86_64 0:5.1.73-3.el6_5    
11    
12 mysql-server.x86_64 0:5.1.73-3.el6_5    
13    
14 Dependency Installed:    
15    
16 keyutils-libs-devel.x86_64 0:1.4-5.el6    
17    
18 krb5-devel.x86_64 0:1.10.3-33.el6    
19    
20 libcom_err-devel.x86_64 0:1.41.12-21.el6    
21    
22 libselinux-devel.x86_64 0:2.0.94-5.8.el6    
23    
24 libsepol-devel.x86_64 0:2.0.41-4.el6    
25    
26 openssl-devel.x86_64 0:1.0.1e-30.el6_6.4    
27    
28 perl-DBD-MySQL.x86_64 0:4.013-3.el6    
29    
30 perl-DBI.x86_64 0:1.609-4.el6    
31    
32 zlib-devel.x86_64 0:1.2.3-29.el6    
33    
34 Complete!    
35    
36 [root@master ~]#    
37    
38 /* ---示例代码----*/    

优化mysql设置

编辑 /etc/my.cnf, 在[mysqld]字段,增加最后一行

1 /* ---示例代码----*/    
2    
3    
4 [root@master ~]# vim /etc/my.cnf    
5    
6 /* ---示例代码----*/    

技术分享

启动Mysql服务

1 /* ---示例代码----*/    
2    
3    
4 [root@master ~]# service mysqld start    
5    
6 [root@master ~]# chkconfig mysqld on    
7    
8 [root@master ~]# chkconfig --list |grep mysqld    
9    
10 mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off    
11    
12 /* ---示例代码----*/    

技术分享  

设置mysql密码,我这里使用是密码是123456

1 /* ---示例代码----*/    
2    
3    
4 [root@master ~]# mysqladmin -u root password 123456    
5    
6 /* ---示例代码----*/    

创建一个dashboard数据库

1 /* ---示例代码----*/    
2    
3    
4 [root@master ~]# mysql -uroot -p123456 <<EOF    
5    
6 > CREATE DATABASE dashboard CHARACTER SET utf8;    
7    
8 > CREATE USER dashboard@localhost IDENTIFIED BY 123456;    
9    
10 > GRANT ALL PRIVILEGES ON dashboard.* TO dashboard@localhost;    
11    
12 > FLUSH PRIVILEGES;    
13    
14 > EOF    
15    
16 [root@master ~]#    
17    
18 /* ---示例代码----*/    

技术分享

Passenger+Apache+Dashboard

这是让Apache支持ruby,由于Passenger不在centos官方源里,因此要添加epel的源

1 /* ---示例代码----*/    
2    
3    
4 [root@master ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm    
5    
6 --2014-12-29 19:58:20-- http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm    
7    
8 Resolving dl.fedoraproject.org... 209.132.181.25, 209.132.181.23, 209.132.181.26, ...    
9    
10 Connecting to dl.fedoraproject.org|209.132.181.25|:80... connected.    
11    
12 HTTP request sent, awaiting response... 200 OK    
13    
14 Length: 14540 (14K) [application/x-rpm]    
15    
16 Saving to: “epel-release-6-8.noarch.rpm”    
17    
18 100%[======================================>] 14,540 4.59K/s in 3.1s    
19    
20 2014-12-29 19:58:26 (4.59 KB/s) - “epel-release-6-8.noarch.rpm” saved [14540/14540]    
21    
22 [root@master ~]# rpm -ivh epel-release-6-8.noarch.rpm    
23    
24 warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY    
25    
26 Preparing... ########################################### [100%]    
27    
28 1:epel-release ########################################### [100%]    
29    
30 [root@master ~]# yum install mod_passenger puppet-dashboard    
31    
32 /* ---示例代码----*/    

配置Dashboard

1 /* ---示例代码----*/    
2    
3    
4 [root@master ~]# vim /usr/share/puppet-dashboard/config/database.yml    
5    
6 /* ---示例代码----*/    

技术分享  

修改时区

1 /* ---示例代码----*/    
2    
3    
4 [root@master ~]# vim /usr/share/puppet-dashboard/config/environment.rb    
5    
6 /* ---示例代码----*/    
7    

技术分享  

初始化数据库

1 /* ---示例代码----*/    
2    
3    
4 [root@master ~]# cd /usr/share/puppet-dashboard/    
5    
6 [root@master puppet-dashboard]# rake RAILS_ENV=production db:migrate    
7    
8 /* ---示例代码----*/    

技术分享

配置Apache    
我们需要整合Passenger和apache

1 /* ---示例代码----*/    
2    
3 [root@master ~]# cat > /etc/httpd/conf.d/passenger.conf << EOF    
4    
5 > LoadModule passenger_module modules/mod_passenger.so    
6    
7 > <IfModule mod_passenger.c>    
8    
9 > PassengerRoot /usr/share/rubygems/gems/passenger-3.0.17    
10    
11 > PassengerRuby /usr/bin/ruby    
12    
13 > PassengerHighPerformance on    
14    
15 > PassengerMaxPoolSize 12    
16    
17 > PassengerPoolIdleTime 1500    
18    
19 > PassengerStatThrottleRate 120    
20    
21 > RailsAutoDetect On    
22    
23 > </IfModule>    
24    
25 > <VirtualHost *:80>    
26    
27 > ServerName master.fisteam2.com    
28    
29 > DocumentRoot "/usr/share/puppet-dashboard/public/"    
30    
31 > <Directory "/usr/share/puppet-dashboard/public/">    
32    
33 > Options None    
34    
35 > AllowOverride AuthConfig    
36    
37 > Order allow,deny    
38    
39 > allow from all    
40    
41 > </Directory>    
42    
43 > ErrorLog /var/log/httpd/master.fisteam2.com_error.log    
44    
45 > LogLevel warn    
46    
47 > CustomLog /var/log/httpd/master.fisteam2.com_access.log combined    
48    
49 > ServerSignature On    
50    
51 > </VirtualHost>    
52    
53 > EOF    
54    
55 [root@master ~]#    
56    
57 /* ---示例代码----*/    

技术分享

启动服务

1 /* ---示例代码----*/    
2    
3 [root@master ~]# service httpd start    
4    
5 Starting httpd: httpd: Could not reliably determine the servers fully qualified domain name, using master.fisteam2.com for ServerName    
6    
7 [ OK ]    
8    
9 [root@master ~]# chkconfig httpd on    
10    
11 [root@master ~]# chkconfig --list | grep httpd    
12    
13 httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off    
14    
15 [root@master ~]#    
16    
17 /* ---示例代码----*/    

技术分享

配置puppet    
让Dashboard使用Reports,现在默认agent是已经启用Report的功能,所以你就不需要设置agent,你只需要设置Server端就可以

1 /* ---示例代码----*/    
2    
3 [root@master ~]# vim /etc/puppet/puppet.conf    
4    
5 [master]    
6    
7 reports = store,http    
8    
9 reporturl = http://master.fisteam2.com:80/reports/upload    
10    
11 /* ---示例代码----*/    

技术分享

重启puppetmaster 服务

1 /* ---示例代码----*/    
2    
3 [root@master ~]# service puppetmaster restart    
4    
5 /* ---示例代码----*/    
6    

技术分享  

这时候就可以直接用 http://ip 访问puppet Dashboard

技术分享

导入报告

1 /* ---示例代码----*/    
2    
3 [root@master puppet-dashboard]# cd /usr/share/puppet-dashboard/    
4    
5 [root@master puppet-dashboard]# rake RAILS_ENV=production reports:import    
6    
7 /* ---示例代码----*/    
8    

技术分享  

这时候你访问Dashboard,可以看到导入的任务.

技术分享

4. 执行导入的reports

1 /* ---示例代码----*/    
2    
3 [root@master puppet-dashboard]# cd /usr/share/puppet-dashboard/    
4    
5 [root@master puppet-dashboard]# rake jobs:work RAILS_ENV="production"    
6    
7 /* ---示例代码----*/    
8    

技术分享  

技术分享

一个Master,五个node测试效果

技术分享

技术分享

文件同步测试

Puppet master:

1 /* ---示例代码----*/    
2    
3 [root@master ~]# vim /etc/puppet/fileserver.conf    
4    
5 [fisteam2filesync]    
6    
7 path /etc/puppet    
8    
9 allow *    
10    
11 /* ---示例代码----*/    
12    

技术分享  

在下面加一个配置域,名字叫做fisteam2filesync,路径是/etc/puppet

1 /* ---示例代码----*/    
2    
3 [root@master ~]# vim /etc/puppet/manifests/site.pp    
4    
5 node default {    
6    
7 file {    
8    
9 "/tmp/fisteam2_puppet_testfile.txt":    
10    
11 content=>"good,test pass!\nfisteam2_puppet_testing\n";    
12    
13 }    
14    
15 }    
16    
17 /* ---示例代码----*/    
18    

技术分享  

上面的代码对默认连入的puppet客户端执行一个操作,在/tmp目录生成一个fisteam2_puppet_testfile.txt文件,内容是good,test pass! 回车换行fisteam2_puppet_testing回车换行.    
初次创建pp文件,需要重启puppetmaster

1 /* ---示例代码----*/    
2    
3 [root@master ~]# service puppetmaster restart    
4    
5 Stopping puppetmaster: [ OK ]    
6    
7 Starting puppetmaster: [ OK ]    
8    
9 [root@master ~]#    
10    
11 /* ---示例代码----*/    
12    

NODE1~5测试

node1:

技术分享

node2:

技术分享

node3:

技术分享

node4:

技术分享

node5:

技术分享

===================================================END====================================

本文出自 “王乾De技术博客” 博客,请务必保留此出处http://redking.blog.51cto.com/27212/1598251

CentOS6.5+puppet3.7.3 安装、配置及测试(三)