puppet (二)

五.模板應用(添加虛擬主機)node

文件存放在 templates 目錄中,以*.erb 結尾mysql

1. vim /etc/puppet/modules/httpd/manifests/init.ppnginx

 

wKioL1fQJTOj1-hiAADocCHvTrM880.png 

 

2.vim /etc/puppet/modules/httpd/templates/httpd_vhost.erbc++

wKiom1fQJTeB3icRAAB7llR--_w319.png 

 

3.vim /etc/puppet/manifests/nodes/server3.ppweb

wKioL1fQJTiQtzStAACAYd8q2EM214.png 

 

4.修改配置文件 vim /etc/puppet/modules/files/httpd.confsql

wKiom1fQJTnDNOkqAAAOv5k0Frg852.png 

5.測試 (記得添加虛擬主機的解析)數據庫

Client:puppet agent --server server1.example.com --no-daemonize -vtvim

wKioL1fQJTqjmFtGAAA2qLIFgbQ141.png 

wKiom1fQJTyBTlzUAAA3_EjT_cM874.png 

 

 

六.以web的方式管理puppet ( puppet-dashboard )ruby

1.安裝軟件服務器

server

wKioL1fQJT2Q1Wd2AAA7wcgTsb8594.png 

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

 

注意:

 

wKiom1fQJUKSX44oAAD_hJdrl2c676.png 

 

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

------ 只留下生產環境配置

wKioL1fQJUOAl9PtAABPaekdTy0277.png 

 

cd /usr/share/puppet-dashboard/config

rake RAILS_ENV=production db:migrate

------ 創建 dashboard 所需的數據庫和表

wKioL1fQJUTzXdnvAAB0Aw7p7f8118.png 

rake time:zones:local

----- 查看本地支持的時區

wKiom1fQJUXCcWatAABRpDINVi4180.png 

puppet-dashboard 默認時區不正確,須要修改:

vim  /usr/share/puppet-dashboard/config/settings.yml

wKiom1fQJUbAm_tDAAAkKBGliQk867.png 

 

4.啓動服務

/etc/init.d/puppet-dashboard start

wKioL1fQJUfAXyPjAABfIlDivAA540.png 

chmod 666 /usr/share/puppet-dashboard/log/production.log

/etc/init.d/puppet-dashboard-workers start

wKiom1fQJUfx77vDAABULLMFIlU721.png 

5.實時報告彙總:

server :

vim /etc/puppet/puppet.conf

wKioL1fQJUngMCLqAAA1TypZYKs210.png 

/etc/init.d/puppetmaster reload

 

 

Client :

vim /etc/puppet/puppet.conf

wKioL1fQJUqzq8trAAASG8raMyM716.png 

puppet agent --server server1.example.com --no-daemonize -vt

 

訪問 172.25.23.3:3000

若配置文件沒有改變,則刷新後可看到綠色部分unchanged增長

wKiom1fQJU2DbfnCAAC4XI9eNlE636.png 

若修改了配置文件,則藍色部分changed增長

點擊server3.example.com -> Recent reports -> log 可看到日誌

wKiom1fQJVLTD0EJAAEfB5stIrU197.png 

 

 

 

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 的負載均衡。

wKioL1fQJVOxQaDfAABVwUVDpAQ361.png 

 

gem install rack passenger

wKiom1fQJVPiPZrtAABFVEQc8HE934.png 

 

yum install -y gcc gcc-c++ curl-devel zlib-devel openssl-devel ruby-devel

 

passenger-install-nginx-module

wKiom1fQJVrgUjH7AAEiit9lfv4523.png 

 

確保全部的都是yes,爲no的則退出,安裝相應軟件

 

wKioL1fQJZajFgvLAAEBFpFwS14982.png 

 

腳本會自動安裝 nginx 支持,按提示操做,基本就是一路回車,除了上圖所示

 

 

vim /opt/nginx/conf/nginx.conf

 

wKioL1fQJZeChQG8AAA6XgA-A1c404.png 

......

wKiom1fQJaHC8kDeAAFObGz9cus980.png 

 

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。

 

wKiom1fQJaSS5LyVAAA7uaaI_Ko169.png

相關文章
相關標籤/搜索