puppet-dashboard和passenger的安装

安装环境: centos6.6

一、基本安装

Install basic components

# rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
# yum -y install epel.release 
# yum -y install puppet-dashboard
# yum -y install mysql-server
# yum -y install httpd curl-devel httpd-devel
# yum -y install sudo

edit my.cnf

# vi /etc/my.cnf
[mysqld]
max_allowed_packet = 32M
# service mysqld restart

edit config/database.yml

# vi /usr/share/puppet-dashboard/config/database.yml
production:
  database: dashboard_production
  username: dashboard
  password: dashboard
  encoding: utf8
  adapter: mysql
  host: localhost

create database (utf8) and grant

# mysql
> create database dashboard_production character set utf8;
> grant all on dashboard_production.* to dashboard@'localhost' identified by 'dashboard';
> flush privileges;

import database

# cd /usr/share/puppet-dashboard/
# rake gems:refresh_specs
# rake RAILS_ENV=production db:migrate

二、配置 httpd 和 puppetmaster

cp dashboard-vhost.conf

# httpd 的配置文件不要动,复制dashboard的虚拟主机配置文件
# cp /usr/share/puppet-dashboard/ext/passenger/dashboard-vhost.conf /etc/httpd/conf.d/puppet-dash.conf

## install passenger

ruby1.8.7 1.9.3 2.0.0 安装rack 提示 rack 需要ruby >=2.2.2,指定安装一个老的rack版本

# gem install rack -v '1.4.7'

官方演示使用的是4.0.46的passenger,为了避免出现不必要的问题,也用这个版本

# gem install passenger -v 4.0.46
# yum install gcc gcc-c++ curl-devel openssl-devel zlib-devel ruby-devel
# passenger-install-apache2-module 

edit puppet-dash.conf

将配置文件中的localdomain 换成你自己的域名

# vi /etc/httpd/conf.d/puppet-dash.conf

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.46/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.46
     PassengerDefaultRuby /usr/bin/ruby
   </IfModule>


# you may want to tune these settings
PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
# PassengerMaxRequests 1000
PassengerStatThrottleRate 120
#RailsAutoDetect On

Listen 3000
<VirtualHost *:3000>
        ServerName puppet.localdomain
        ServerAlias puppet
        DocumentRoot /usr/share/puppet-dashboard/public/
        <Directory /usr/share/puppet-dashboard/public/>
                Options None
                AllowOverride AuthConfig
                Order allow,deny
                allow from all
        </Directory>
  ErrorLog /var/log/httpd/puppet-dashboard_error.log
  LogLevel warn
  CustomLog /var/log/httpd/puppet-dashboard_access.log combined
  ServerSignature On
</VirtualHost>

edit puppet.conf

在puppet原始配置文件中增加

# vi /etc/puppet/puppet.conf
[main]
### Set up DNS name that the server will respond to
dns_alt_name = puppet puppet.localdomain

### Tell puppet where the environmental directiries live
#environmentpath = $confdir/environments

### Configure puppet to talk to the puppet dashboard
reports = store, http
reporturl = http://puppet.localdomain:3000/reports/upload
node_terminus = exec
external_nodes = /usr/bin/env PUPPET_DASHBOARD_URL=http://puppet.localdomain:3000 /usr/share/puppet-dashboard/bin/external_node

[agent]
report = true                   

autosign = true 
autosign = /etc/puppet/autosign.conf

server = puppet.localddomain
certname = puppet.localddomain

[master] 
certname = puppet.localddomain

Automatic licensing

# vi /etc/puppet/autosign.conf
*

edit /etc/hosts

vi /etc/hosts
172.17.0.3 puppet
172.17.0.3 puppet.localdomain

restart httpd

# service httpd restart

此时已经可以网页打开puppet-dashboard页面了
这时还看不到节点信息和图像,因为dashboard的服务还没起来

这里写图片描述

agent authentication

# service puppetmaster restart
# service puppet start
# puppet agent --test
# (puppet cert sign puppet)  // master 主动认证agent端

## start puppet-dashboard work

注意,执行完这一步,上图所示的右侧 Nodes 才会出现报告信息

# chown -R puppet-dashboard.puppet-dashboard /usr/share/puppet-dashboard/log/
# chmod 666 /usr/share/puppet-dashboard/log/*
# sudo -u puppet-dashboard env RAILS_ENV=production /usr/share/puppet-dashboard/script/delayed_job -p dashboard -n 4 -m start

三、常用命令

认证 和 删除认证

认证:
master端 列出agent
# puppet cert list --all
agent 执行
# puppet agent --test
master 主动认证
# puppet cert sign 【节点名称】


删除认证:
agent端执行
# find /var/lib/puppet/ssl -name  节点名称.pem -delete
master端执行
# puppet cert clean 【节点名称】
agent 重启
# service puppet restart

cat stopserver.sh

关闭dashboard work 的函数,seq 0 3 是启动的时候指定了4个进程

function stop_dashboard-workers()
{
for i in $(seq 0 3)
do
kill -9 `cat /usr/share/puppet-dashboard/tmp/pids/delayed_job.${i}_monitor.pid `
rm -rf /usr/share/puppet-dashboard/tmp/pids/delayed_job.${i}_monitor.pid
rm -rf /usr/share/puppet-dashboard/tmp/pids/delayed_job.${i}.pid
done
}

转载请注明

http://blog.csdn.net/mrtianmm/article/details/64124546

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值