Puppet3在CentOS6.5集群下的安装


Puppet3在CentOS6.5集群下的安装

环境: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

改主机名

1

2

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数据库

1

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 (待完善)

Puppet 学习系列:

Puppet 学习一:安装及简单实例应用

Puppet学习二:简单模块配置和应用

有关Puppet agent端三种备份恢复方案探讨研究
选择更安全的方式注册你的Puppet节点
通过配置SSH深刻理解Puppet的语法及工作机制
Puppet利用Nginx多端口实现负载均衡
Puppet集中配置管理系统详解
CentOS(5和6)下Puppet的C/S模式实例

Puppet 的详细介绍:请点这里
Puppet 的下载地址:请点这里

本文永久更新链接地址

相关内容