五.模板應用(添加虛擬主機)node
文件存放在 templates 目錄中,以*.erb 結尾mysql
1. vim /etc/puppet/modules/httpd/manifests/init.ppnginx
2.vim /etc/puppet/modules/httpd/templates/httpd_vhost.erbc++
3.vim /etc/puppet/manifests/nodes/server3.ppweb
4.修改配置文件 vim /etc/puppet/modules/files/httpd.confsql
5.測試 (記得添加虛擬主機的解析)數據庫
Client:puppet agent --server server1.example.com --no-daemonize -vtvim
六.以web的方式管理puppet ( puppet-dashboard )ruby
1.安裝軟件服務器
server :
yum install -y puppet-dashboard-1.2.12-1.el6.noarch.rpm rubygem-rake-0.8.7-2.1.el6.noarch.rpm ruby-mysql-2.8.2-1.el6.x86_64.rpm
注意:
2.建立數據庫
mysql -pwestos -e "create database dashboard_production character set utf8 "
mysql -pwestos -e "create user dashboard@localhost identified by 'westos' "
mysql -pwestos -e "grant all on dashboard_production.* to dashboard@localhost "
3.修改配置服務
server :
vim /usr/share/puppet-dashboard/config/database.yml
------ 只留下生產環境配置
cd /usr/share/puppet-dashboard/config
rake RAILS_ENV=production db:migrate
------ 創建 dashboard 所需的數據庫和表
rake time:zones:local
----- 查看本地支持的時區
puppet-dashboard 默認時區不正確,須要修改:
vim /usr/share/puppet-dashboard/config/settings.yml
4.啓動服務
/etc/init.d/puppet-dashboard start
chmod 666 /usr/share/puppet-dashboard/log/production.log
/etc/init.d/puppet-dashboard-workers start
5.實時報告彙總:
server :
vim /etc/puppet/puppet.conf
/etc/init.d/puppetmaster reload
Client :
vim /etc/puppet/puppet.conf
puppet agent --server server1.example.com --no-daemonize -vt
訪問 172.25.23.3:3000
若配置文件沒有改變,則刷新後可看到綠色部分unchanged增長
若修改了配置文件,則藍色部分changed增長
點擊server3.example.com -> Recent reports -> log 可看到日誌
6.在客戶端安裝完 puppet 後,而且認證完後,咱們能夠看到效果,那怎樣讓它自動與服務器同步呢?默認多少分鐘跟服務器同步呢?怎樣修改同步的時間呢,這時候咱們須要配置客戶端
(1) 配置 puppet 相關參數和同步時間:
vim /etc/sysconfig/puppet
PUPPET_SERVER=puppet.example.com #puppet master 的地址
PUPPET_PORT=8140#puppet 監聽端口
PUPPET_LOG=/var/log/puppet/puppet.log #puppet 本地日誌
#PUPPET_EXTRA_OPTS=--waitforcert=500 【默認同步的時間,我這裏不修改這行參數】
(2) 默認配置完畢後,客戶端會半個小時跟服務器同步一次,咱們能夠修改這個時間。
vim /etc/puppet/puppet.conf
[agent]
runinterval = 60 #表明 60 秒跟服務器同步一次
/etc/init.d/puppet reload
七.nginx+passenger
puppet 默認使用基於 Ruby 的 WEBRickHTTP 來處理 HTTPS 請求,單個服務器使用Apache/Nginx+Passenger 替換掉 WEBRickHTTP,Passenger 是用於將 Ruby 程序進行嵌入執行的Apache 模塊,實現對 puppet 的負載均衡。
gem install rack passenger
yum install -y gcc gcc-c++ curl-devel zlib-devel openssl-devel ruby-devel
passenger-install-nginx-module
確保全部的都是yes,爲no的則退出,安裝相應軟件
腳本會自動安裝 nginx 支持,按提示操做,基本就是一路回車,除了上圖所示
vim /opt/nginx/conf/nginx.conf
......
mkdir /etc/puppet/rack/{public,tmp} -p
cp /usr/share/puppet/ext/rack/config.ru /etc/puppet/rack/
chown puppet.puppet /etc/puppet/rack/config.ru
/etc/init.d/puppetmaster stop
/opt/nginx/sbin/nginx -t
/opt/nginx/sbin/nginx
puppetmaster 不須要啓動 , nginx 啓動時會自動調用 puppet。