溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

puppet 學(xué)習(xí)(一: 安裝及簡單實例應(yīng)用)

發(fā)布時間:2020-08-07 05:57:44 來源:網(wǎng)絡(luò) 閱讀:340 作者:天真花語 欄目:編程語言
本次安裝環(huán)境是: centos 5.4 X86_64位
Server:  
1.先安裝ruby語言包、ruby標(biāo)準(zhǔn)庫、ruby shadow
  yum install -y  ruby ruby-libs ruby-shadow
2.需要添加EPRL庫,來支持puppet
       wget http:// dl.fedoraproject.org /pub/epel/5Server/x86_64/epel-release-5-4.noarch.rpm
如果你的系統(tǒng)是centos 6版本的或者是centos 5版本但是是32位的,可以到網(wǎng)站:
dl.fedoraproject.org查找你們想要的
3.master主機上,需要從EPEL倉庫安裝puppet、puppet-server facter
       rpm -Uvh epel-release-5-4.noarch.rpm
puppet軟件包含了agent程序,puppet-server軟件包含了master程序,facter軟件包含了系統(tǒng)盤點工具facter,可以獲取agent主機的相關(guān)信息
       yum install -y puppet puppet-server facter
之后啟動puppet master
service puppetmaster start
啟動 puppetmaster[確定]
這樣,puppet server上的安裝算是完成了
現(xiàn)在,masteragent都安裝好了,解釋一下/etc/puppet/下的文件含義:
       Puppet.conf   puppet的服務(wù)端配置文件
       Auth.conf   client訪問puppet serveracl配置文件
       Fileserver.conf   puppet server作為文件服務(wù)器ACL配置文件
       Manidests    puppet的腳本目錄文件目錄
       Site.pp 文件告訴puppet去哪里尋找并載入指定的客戶端配置,如果缺少此文件,puppet會啟動失敗的
  防火墻設(shè)置
       -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8140 -j ACCEPT
需要重啟防火墻,service iptables restart
配置好防火墻后,就可以允許client訪問puppet
配置第一個agent
   Client
同樣需要安裝epel-release-5-4.noarch.rpm
下載:wget http://dl.fedoraproject.org/pub/epel/5Server/x86_64/epel-release-5-4.noarch.rpm
       rpm -ivh epel-release-5-4.noarch.rpm
agent端只需要安裝:
       yum install puppet facter
   Client 請求puppet agent --server=puppet.xxxx.com(puppet master域名)  --verbose --no-daemonize
解釋:參數(shù)
--server 指定了需要連接puppet master 的域名或者主機名,盡量使用域名吧,否則不同網(wǎng)絡(luò)之間無法通過主機名相通
--no-daemonize 使得puppet 客戶端運行在前端并輸出日志到標(biāo)準(zhǔn)輸出
--verbose 使客戶端輸出更詳細的日志
Server端需要相應(yīng)這個請求
查看:puppet cert –list    
  "shwt08" (94:BC:4A:FA:31:E1:10:9F:3C:4D:B3:E8:CB:A4:F8:B9)
puppet cert --sign shwt08  
notice: Signed certificate request for shwt08
notice: Removing file Puppet::SSL::CertificateRequest shwt08 at '/var/lib/puppet/ssl/ca/requests/shwt08.pem'
當(dāng)然,如果我們有很多個client的話,都需要一個個去認(rèn)證確實是一件很麻煩的事情,所以,修改puppet.conf文件,實現(xiàn)自動化認(rèn)證
       在全局”[mian]”下添加一行:
       autosign = true
重啟master
       service puppetmaster restart
重新添加一個clint,驗證
       需要先去wget 后需要編輯/etc/hosts
之后puppet agent --server=puppet.xxxx.com  --no-daemonize –verbose 發(fā)現(xiàn)是沒有問題的
創(chuàng)建第一個配置:
master上修改兩個文件:
       目錄/etc/puppet/manifests下:
              nodes.pp  site.pp  如果沒有這兩個文件就手工建吧
vi nodes.pp
       node default {
   file{"/root/vol_disk_check.sh":
        source => "puppet:///files/vol_disk_check.sh",
        owner => "root",
        group => "root",
        mode => 755;
   }
}
Vi site.pp
              import 'nodes.pp'
至于具體的解釋說明,等下章再詳細的解釋下,這篇文章主要來闡明puppet安裝及簡易同步文件的效果
       測試來同步一個文件 
              puppet agent --server=puppet.xxxx.com --test -v
ok,從詳細信息中,得知client已經(jīng)同步文件了
 
下面說遇到的兩個錯誤:
錯誤1
       err: Could not retrieve catalog from remote server: hostname not match with the server certificate 
解決辦法:
       masterclient上查看是否二者日期不同步
       client上配置/etc/hosts文件,編輯添加puppet.xxxx.com 解析(IP 域名)
錯誤2
       err: Could not retrieve catalog from remote server: Connection refused - connect(2)
解決辦法:
              這個是因為master 上的主程序沒有啟動的緣故,到master上查看程序puppetmaster 發(fā)現(xiàn)提示進程已死,
       service puppetmaster status
puppetmasterd 已死,但 pid 文件仍存
查看了下配置文件,發(fā)現(xiàn)是在修改fileserver.conf時修改錯誤導(dǎo)致的,也就是說當(dāng)遇到這個錯誤提示的時候,要查看/etc/puppet目錄下的主配置文件是否有問題
   文件fileserver.conf 中:[files]
  path /var/lib/puppet/files
這個path下是放置我們要同步更新的文件
 
 
 
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI