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
(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
# puppet 的第一個執行的代碼是在/etc/puppet/manifest/site.pp,所以這個文件必須存在,並且其餘的代碼也要經過該文件來調用
(1) server手動生成簽名
a)client先向服務端發送請求
# 會顯示失敗,是由於,server端沒有client的證書,所以,server須要手動生成
b)server端手動進行簽證
c) client再次獲取證書
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
vim /etc/puppet/autosign.conf
/etc/init.d/puppetmaster reload
b)將server原有的簽名刪除
c)client端刪掉原有證書的記錄,再從新獲取
rm -fr /var/lib/puppet/ssl
在實際中有時會修改 client 端的主機名,這樣就須要從新生成證書
3.資源定義
資源定義在 /etc/puppet/manifest/site.pp
(1) 建立文件
Server
Vim /etc/puppet/manifest/site.pp
client
puppet agent --server server1.example.com --no-daemonize -vt
cat /tmp/wang
(2) 當改變資源內容時,Hash碼也會發生變化
server
Passwd存儲在 /etc/puppet/files(本身建立的)
vim /etc/puppet/fileserver.con
Vim /etc/puppet/manifest/site.pp
Client
puppet agent --server server1.example.com --no-daemonize -vt
生成的新的Hash會和server端中的資源相同
(3)安裝包
(4)服務
service { "httpd": ensure => running;
"vsftpd": ensure => stopped
}
(5) 用戶
(6)文件系統掛載
server
在172.25.23.250上,須要設置nfs分享
且在client須要安裝 nfs-utils軟件
自動掛載文件系統,並同步 fstab 文件,若是須要卸載,改成 absent
(7) crontab任務
任務會在 client 上/var/spool/cron 目錄中生成
二.安裝vsftpd,httpd及啓動服務
Server
Vim /etc/puppet/manifest/site.pp
Client
puppet agent --server server1.example.com --no-daemonize -vt
三.編寫httpd 模塊
server
vim site.pp
vim server3.pp
各部份內容以下
注意:若出現以下報錯,則是資源中文件的權限不夠,最少爲644
四.編寫nginx模塊
server:
vim nginx.sh
vim nginx.conf
vim init.pp
vim install.pp
vim config.pp
vim service.pp
vim site.pp
vim server2.pp
Client:
做業:課後完成lnmp的搭建