溫馨提示×

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

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

centos7 簡(jiǎn)單安裝puppet

發(fā)布時(shí)間:2020-07-13 11:21:21 來源:網(wǎng)絡(luò) 閱讀:8346 作者:bworld 欄目:編程語言

1,安裝puppet注意:客戶端和服務(wù)器版本盡量保持一致,如果不能一致,客戶端的version也不能太舊,服務(wù)端的version不能低于client端


安裝及簡(jiǎn)單配置步驟:

安裝準(zhǔn)備(server&client端適用):

    首先,要更改計(jì)算機(jī)名:hostname puppet.nn.local  或者:hostname -F /etc/hostname (這個(gè)文件里寫上你的計(jì)算機(jī)名,如果不存在自己創(chuàng)建一個(gè))


    其次,更改/etc/hosts文件,這個(gè)很重要.(最好把a(bǔ)gent端也寫進(jìn)去) 確保兩端能ping 通     如:

                192.168.1.1   puppet.nn.local     //server 端

                192.168.1.2   agent.nn.local    //agent端


     然后,關(guān)掉 iptables 和  selinux 

                   iptables -F (或者放開8140端口:iptables -A INPUT -p tcp -m state --state  NEW -s 192.168.1.0/24 --dport 8140 -j ACCEPT)       

                   setenforce 0 或者修改/etc/selinux/config 里的 enforce改為disabled       -----》  reboot your computer


    最后,一定要保證server與client的時(shí)間一直,否則,client獲取證書時(shí)會(huì)出錯(cuò)。適用ntp服務(wù)是最好的選擇,我是將ntp的服務(wù)端安裝在了puppet上(實(shí)驗(yàn)環(huán)境,生產(chǎn)環(huán)境不推薦)



    最好使用各版本的包管理器來安裝,下面的安裝方法是使用redhat系的系統(tǒng)來安裝

 a, 先安裝epel的源,下載地址:https://fedoraproject.org/wiki/EPEL/zh-cn,選擇自己的版本下載。如:epel-release-7.noarch.rpm

        安裝: rpm -Uvh epel-release-7.noarch.rpm   然后:yum update


b,安裝ruby及ruby庫:

       yum -y install ruby ruby-libs ruby-shadow(puppet需要)


c,安裝puppet服務(wù)端:

     yum -y  install puppet(client端) puppet-server facter(相當(dāng)于資產(chǎn)管理的一個(gè)東西,能自動(dòng)匯報(bào)或者獲取客戶端信息(如,軟件環(huán)境,操作系統(tǒng)等))

*****將puppetmaster(主程序)加入開機(jī)啟動(dòng)項(xiàng):

          RHEL7之前版本:chkconfig --level 3 5 on puppetmaster

          RHEL7: systemctl enable puppetmaster.service


d,配置server端

    puppet的主配置文件為:/etc/puppet/puppet.conf   

    添加如下內(nèi)容:

                            [master]

                            certname=puppet.nn.local     //服務(wù)端的名字

   更改 證書保存地址,建議放在 /var/puppet/ssl    (/var/puppet/  文件夾需要手動(dòng)創(chuàng)建,并將擁有者改為:puppet用戶和組)

                            [main]

                            ssldir=/var/puppet/ssl

   保存退出


 創(chuàng)建 /etc/puppet/manifests/site.pp 文件,如果有就不用創(chuàng)建,如果沒有請(qǐng)創(chuàng)建,這個(gè)文件關(guān)系到puppetmaster能否啟動(dòng)。

 

 啟動(dòng): service puppetmaster start(RHEL7: systemctl start puppetmaster.service), 第一次啟動(dòng)建議使用:puppet master --verbose --no-daemonize 能夠看到詳細(xì)的信息。



e,配置client端:

    

   client的配置文件同樣是:/etc/puppet/puppet.conf

    添加如下內(nèi)容:

                           [agent]

                            certname=agent.nn.local 

                            server=puppet.nn.local

                            report=true

     更改ssldir選項(xiàng)如server端一樣

                            [main]

                            ssldir=/var/puppet/ssl    

  保存退出

   

   啟動(dòng): service puppet start   或者  systemctl    start  puppet.service (RHEL7)


f, 測(cè)試:

   

       客戶端:

                        puppet agent --server=puppet.nn.local --verbose --no-daemonize  --debug   (如果server端是no-daemonize模式啟動(dòng)的,client也要加上這個(gè)選項(xiàng))

                         這個(gè)指令的作用是將puppet agent不用守護(hù)進(jìn)程的模式啟動(dòng),好處是能看到與服務(wù)器端的通信及證書簽名的過程,方便debug。 默認(rèn)puppet每2分鐘向服務(wù)器端申請(qǐng)一次簽名

                        直到獲得服務(wù)器端發(fā)來的經(jīng)過簽名的證書才 start agent 服務(wù)。也可以通過--waitforcert=time 來設(shè)置等待時(shí)間,如果time為0 則不等待

     服務(wù)端:

                         查看客戶端的簽名申請(qǐng): puppet cert --list

                         給客戶端簽名:puppet cert --sign agent.nn.local

                         清除用戶證書:puppet cert --clean agent.nn.local    (client端要同時(shí)刪除證書:rm -rf /var/puppet/ssl/agent.nn.local)

g,完事 ,著重提醒:你的防火墻,多數(shù)故障是由它造成的,至少我遇到的問題是這樣的,如: no route to host之類的東西。

參考資料:《精通puppet》

                         


向AI問一下細(xì)節(jié)

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

AI