puppet (一)

Puppetlinux

sever:172.25.23.1 server1.example.com puppet masternginx

client:172.25.23.2 server2.example.com puppet agentjson

client:172.25.23.3 server3.example.com puppet agentvim

server 與全部 client 之間須要解析,以及時間同步,iptables selinux disabledruby

 

一.基礎配置ide

1.安裝軟件spa

wKioL1fQIM3BtSnmAACdxLATwzI648.png 

(1) server3d

 

[root@server1 ~]#  yum install -y puppet-server-3.0.1-1.el6.noarch.rpm puppet-3.0.1-1.el6.noarch.rpm facter-2.4.4-1.el6.x86_64.rpm ruby-shadow-2.2.0-2.el6.x86_64.rpm hiera-1.3.4-1.el6.noarch.rpm ruby-augeas-0.4.1-3.el6.x86_64.rpm rubygem-json-1.5.5-3.el6.x86_64.rpm rubygems-1.3.7-5.el6.noarch.rpm orm

 

[root@server1 ~]# /etc/init.d/puppetmaster startserver

 

(2) client

 

[root@server2 ~]# yum install -y  puppet-3.0.1-1.el6.noarch.rpm facter-2.4.4-1.el6.x86_64.rpm ruby-shadow-2.2.0-2.el6.x86_64.rpm hiera-1.3.4-1.el6.noarch.rpm ruby-augeas-0.4.1-3.el6.x86_64.rpm rubygem-json-1.5.5-3.el6.x86_64.rpm rubygems-1.3.7-5.el6.noarch.rpm

 

注意:客戶端先不開啓服務

 

 

2.獲取證書

server

wKiom1fQINnTkDdTAABHHinw70c301.png

# puppet 的第一個執行的代碼是在/etc/puppet/manifest/site.pp,所以這個文件必須存在,並且其餘的代碼也要經過該文件來調用

(1) server手動生成簽名

a)client先向服務端發送請求 

wKioL1fQIOCB98n0AADdXlepULw466.png 

# 會顯示失敗,是由於,server端沒有client的證書,所以,server須要手動生成

b)server端手動進行簽證

wKiom1fQIOjhNNhVAAIvjRGk7Ec470.png 

 

c) client再次獲取證書

wKioL1fQIOuQ1IxeAACx2YH9r38511.png 

 

client 向 master 發出證書驗證請求,而後等待 master 簽名並返回證書。

參數--server 指定了須要鏈接的 puppet master 的名字或是地址,默認鏈接名爲puppet的主機如要修改默認鏈接主機能夠修改/etc/sysconfig/puppet 文件中的  PUPPET_SERVER=puppet 選項

參數--no-daemonize 是 puppet 客戶端運行在前臺

參數--verbose 使客戶端輸出詳細的日

 

(2) server自動生成簽名

a)修改server的配置文件

vim /etc/puppet/puppet.conf

wKiom1fQIOyyajdfAAAOOVOIP-I935.png 

 

vim /etc/puppet/autosign.conf

wKioL1fQIO2Au3tHAAAI2IunLLs831.png 

/etc/init.d/puppetmaster reload

 

b)將server原有的簽名刪除

wKiom1fQIPOg07TIAAFqoklxSp0802.png 

c)client端刪掉原有證書的記錄,再從新獲取

rm -fr /var/lib/puppet/ssl

wKiom1fQIPnTEFCZAAFlgYZm9YU374.png 

在實際中有時會修改 client 端的主機名,這樣就須要從新生成證書

3.資源定義

資源定義在 /etc/puppet/manifest/site.pp

(1) 建立文件

Server

Vim /etc/puppet/manifest/site.pp

wKioL1fQIPqSuwvlAAAYFZgTPXo700.png 

 

client

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

cat /tmp/wang

wKioL1fQIPujTyz8AABUEYMkJt4826.png 

(2) 當改變資源內容時,Hash碼也會發生變化

server

Passwd存儲在 /etc/puppet/files(本身建立的)

vim /etc/puppet/fileserver.con

wKiom1fQIPyAw19GAAAVPK0YVr4177.png 

Vim /etc/puppet/manifest/site.pp

wKiom1fQIP_Qqm8uAAApTW_DJs0917.png 

Client

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

wKioL1fQIQTD6GDSAAD7864RRG0269.png 

wKioL1fQIQbC-reSAAArVgsKBVM947.png 

生成的新的Hash會和server端中的資源相同

(3)安裝包

wKiom1fQIQeT0yuzAAAjbtKrIkM750.png

(4)服務

service { "httpd": ensure => running;

"vsftpd": ensure => stopped

}

 

(5) 用戶

wKioL1fQIQvCkKwfAACkalzscuM339.png 

(6)文件系統掛載

server

wKiom1fQIQ2g89BfAABiF-ua0xo783.png 

172.25.23.250上,須要設置nfs分享

wKiom1fQIQ-yeOQJAABLOh1W66Y260.png 

且在client須要安裝 nfs-utils軟件

自動掛載文件系統,並同步 fstab 文件,若是須要卸載,改成 absent

(7) crontab任務

wKioL1fQIRCTcA9vAAAxNICSMpA565.png 

任務會在 client 上/var/spool/cron 目錄中生成

 

 

二.安裝vsftpd,httpd及啓動服務

Server

Vim /etc/puppet/manifest/site.pp

wKioL1fQIRbTe1cLAAEzf-bZj_4875.png 

Client

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

 

三.編寫httpd 模塊

server

wKiom1fQIRjSOOeeAAA8qJggsAI401.png 

vim site.pp

wKiom1fQIR6DjkBmAAAMorYJ7c4610.png 

 

wKiom1fQIR-hVNjdAAA9h-rwY_M929.png 

 

vim server3.pp

wKioL1fQISCRhHawAAAdh0cAJZs522.png 

wKioL1fQISPR4h_nAACgzsh69ow937.png 

各部份內容以下

wKiom1fQISTwFcW5AAAnWbwl2s0459.png 

 

wKioL1fQISXySj4qAABmpHw_QZk874.png 

 

wKiom1fQISiwKa5zAABCAaGAfx8970.png 

 

wKioL1fQISuz1zh2AAAplfKp4pg997.png 

 

wKiom1fQIbeySCvrAABbIB5fPgA640.png 

注意:若出現以下報錯,則是資源中文件的權限不夠,最少爲644

wKioL1fQIcGgghv7AAEH2VwFSaY273.png 

 

四.編寫nginx模塊

server

wKiom1fQIcLjICW-AABQEs_l9wU113.png 

vim nginx.sh

wKioL1fQIcSiHU29AADI8WM4pZw611.png 

vim nginx.conf

wKiom1fQIcbTx0uOAAAb3_m-q90382.png 

 

wKioL1fQIcfxbUEwAABO_irNClI943.png 

 

vim init.pp

 

wKiom1fQIcnh9FsJAAAlax3aGbY199.png 

 

vim install.pp

wKioL1fQIc3SG9ZuAADu8lrwxYc197.png 

 

vim config.pp

wKiom1fQIc7yJs1wAADMxiDI2nc798.png 

 

vim service.pp

wKioL1fQIc_gGSZtAABtcJ59jaQ360.png 

wKiom1fQIdCAOHzNAAA8qJggsAI044.png 

vim site.pp

wKioL1fQIdHyd5nTAAAMorYJ7c4705.png 

 

wKioL1fQIdLCPTVnAAA9h-rwY_M460.png 

 

vim server2.pp

wKiom1fQIdPgt2lKAAAgVKHfZ3s532.png 

 

 

Client:

 

wKiom1fQIdziOXJLAAJFvgZqrLc786.png 

 

wKioL1fQIeHScOvzAACn5wGFF-U979.png 

做業:課後完成lnmp的搭建

相關文章
相關標籤/搜索