1. 程式人生 > >自動部署運維之Puppet

自動部署運維之Puppet

oca dom 運維 fir local 服務器 term service 功能

Puppet原理

Puppet的目錄是讓管理員只集中於要管理的目標,而忽略實現的細節。Puppet即可以運行在單機上,也可以以C/S結構使用。在大規模使用puppet的情況下,通常使用C/S結構,在這種結構中puppet客戶端只運行puppeclient,puppet服務端只運行puppemaster。

工作流程

服務器端的puppetmaster通過fast工具分析檢測客戶端的主機名,然後找到項目的主配置文件manifest裏面對應的node配置,並對該部分內容進行解析,fast發送過來的信息可以作為變量處理.

註意事項

為了保證安全,Client和Master之間是基於SSL和證書Puppet會讓系統保持在人們所期望的某種狀態並一直維持下去,如檢測某個文件並保證其一直存在,保證SSH服務始終開啟,如果文件被刪除了或者ssh服務關閉了,puppet下次執行時(默認30分鐘)會重新創建該文件或者啟動SSH服務

技術分享圖片

服務器名稱(主機名) IP地址 需要的軟件
NTPserver 192.168.10.11 NTPserver
puppetmaster 192.168.10.12 ntpdate
puppetclient1 192.168.10.16 ntpdate、puppet
puppetclient2 192.168.10.17 ntpdate、puppet
實施

修改NTP服務器主機名稱

vim /etc/hostname
NTPserver
init 6 

所有服務器關閉防火墻和安全功能

systemctl stop firewalld.service
setenforce 0

NTPserver配置

yum install ntp -y      #安裝NTP

vim /etc/ntp.conf         #編輯配置文件

server 127.127.1.0
fudge 127.127.1.0 stratum 8

systemctl enable ntpd.service
systemctl start ntpd.service    #開啟ntpd服務
ntpstat  //查看時間同步狀態

技術分享圖片

修改puppetmaster服務器主機名指定hosts文件

vim /etc/hostname  # 修改主機名稱
puppetmaster.localdomain 
vim /etc/hosts   #修改hosts文件

192.168.10.12   puppetmaster
192.168.10.17   puppetclient1
192.168.10.18   puppetclient2
init 6 # 重啟

yum install ntpdate -y        #安裝ntp客戶端
ntpdate 192.168.10.11        #進行時間同步
yum install puppet-server -y #安裝puppet服務端

systemctl enable puppetmaster.service 
systemctl start puppetmaster.service        #啟動puppet主程序

puppetclient1,puppetclient2配置,步驟相同

vim /etc/hostname  # 修改主機名稱
puppetmaster.localdomain 
vim /etc/hosts   #修改hosts文件

192.168.10.12   puppetmaster
192.168.10.17   puppetclient1
192.168.10.18   puppetclient2
init 6 # 重啟
yum install ntpdate -y        #安裝ntp客戶端
ntpdate 192.168.10.11         #進行時間同步
yum -y install puppet         #安裝puppet客戶端
vim /etc/puppet/puppet.conf   #修改配置文件
[main]
    server = puppetmaster   #指明puppetmaster
......

技術分享圖片

技術分享圖片
技術分享圖片技術分享圖片

申請與註冊

puppetclient端:

puppet agent --server=puppetmaster --no-daemonize --verbose #申請註冊
技術分享圖片
技術分享圖片

puppetmaster端:
查看申請

puppet cert --list #查看申請
技術分享圖片

對未註冊的進行註冊:

puppet cert sign --all #對未註冊的進行註冊

通過目錄查看已經註冊的客戶端:

ll /var/lib/puppet/ssl/ca/signed/ #通過目錄查看已經註冊的客戶端
技術分享圖片

自動部署運維之Puppet