自動部署運維之Puppet
阿新 • • 發佈:2018-08-07
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