puppet原理:
puppet是乙個或者多個master,眾多client,所有的客戶端都定期(預設為30分鐘)使用facter工具把
客戶端的基本資訊,通過https的xmlrpc協議傳送給伺服器端,伺服器端通過分析客戶端主機名,找到該主機
的配置**,然後編譯配置**,把編譯好的配置**傳送回客戶端,客戶端執行**完成配置,並且把**
執**況反饋給puppet伺服器端。
注釋:xmlrpc是使用http協議作為傳輸協議的rpc機制,使用xml文字的方式傳輸命令和資料。
安裝配置
環境系統版本
# cat /etc/redhat-releasecentos release
6.6 (final)
在master和client設定hosts
puppet要求所有機器有完整的網域名稱,如果沒有dns伺服器提供網域名稱的話,可以在機器上設定主機名
(注意:要先安裝puppet之前設定主機名,因為安裝puppet時會把主機名寫入證書,客戶端和服務端通訊需要這個證書),為了簡化安裝 直接配置/etc/hosts
#vim /etc/hosts
10.20.0.80master01.test.com
10.20.0.81 client01.test.com
系統配置
在master和client上面均關閉selinux,iptables:
***************====stop iptables********************====
# service iptables stop# chkconfig iptables off
關閉selinux
# sed -i 's/enforcing/disabled/g
' /etc/selinux/config
ntp時間同步*****重要
#yum -y install ntp#ntpdate pool.ntp.org
# chkconfig ntpd on
# chkconfig --list |grep ntp
ntpd
0:off 1:off 2:on 3:on 4:on 5:on 6
:off
ntpdate
0:off 1:off 2:off 3:off 4:off 5:off 6
:off
**********===start ntp***************=service ntpd start
starting ntpd: [ ok ]、
建立組和使用者
#groupadd puppet#useradd -g puppet -s /sbin/nologin puppet
安裝puppet
master服務端安裝
#yum -y install ruby ruby-libs ruby-shadow puppet puppet-server facter
啟動服務並且設定開機啟動
########################satrt service#########################[root@master01 ~]# service puppetmaster start
starting puppetmaster: [ ok ]
[root@master01 ~]# chkconfig puppetmaster on
檢查是否啟動成功
[root@master01 ~]# netstat -tunlp | grep 8140tcp 00
0.0.0.0:8140
0.0.0.0:* listen 12393/ruby
預設埠為8140
啟動成功
客戶端安裝配置
[root@client01 ~]# yum -y install puppet
配置檔案 新增一條內容
vim /etc/puppet/puppet.conf[agent]
server = master01.test.com
啟動客戶端並新增開機啟動
[root@client01 ~]# service puppet startstarting puppet agent: [ ok ]
[root@client01 ~]# chkconfig puppet on
證書申請
client需要向伺服器端發出請求, 讓伺服器對客戶端進行管理. 這其實是乙個證書簽發的過程. 第一次執行puppet 客戶端的時候會生成乙個 ssl 證書並指定發給 puppet 服務端, 伺服器端如果同意管理客戶端,就會對這個證書進行簽發,可以用這個命令來簽發證書,由於我們已經在客戶端設定了server位址,因此不需要跟服務端位址。
master 自動新增
# cat > /etc/puppet/autosign.conf <> *.fisteam2.com> eof
agent端去請求證書
[root@client01]#puppet agent --no-daemonize --onetime --verbose --debug[root@client01]#puppet agent --test
master檢視客戶端list
[root@master01]# puppet cert list -all+ "client01.test.com
" (sha256) 31:a4:d8:3f:cc:07:4e:fb:4f:60:71:14:b5:62:a3:81
:b8:0c:e4:1e:7c:e3:ea:2b:d6:7a:a2:b5:8e:c0:1a:9b
+ "master01.test.com
" (sha256) ed:34:76:9f:cc:a1:7d:13:0e:20:96:69:cb:03:cd:71:88:f9:59:1e:82:53:53:43:de:02:38:2d:48:44:fe:79 (alt names: "
dns:master01.test.com
", "
dns:puppet
", "
dns:puppet.test.com
")
+是已經簽好了證書 如果沒有+是沒有簽發成功的
如果沒有新增到的話 可以使用
[root@master01]# puppet cert --sgin client01.test.com
puppet基本命令方法
刪除證書或者所有
puppet cert clean client01.test.compuppet cert clean --all
如果出現錯誤 可以重新來執行
1 在agent端執行
cd /var/lib/puppetrm -rf ssl/service puppet restart
2 master執行
cd /var/lib/puppet/ssl/ca/signedrm -rf client01.test.com
service puppetmaster restart
Django安裝介紹及執行原理
安裝 pip install django 1.11.4 測試是否安裝成功 終端進入python環境 import django django.get version 1.11.4 安裝成功 一 簡介 1 django是乙個python寫的開源的web應用框架。初次發布於2005年7月,並於2008...
keepalived原理及介紹
一 keepalived兩大核心 1 健康檢查 keepalived根據tcp ip參考模型的第三層 第四層 第五層交換機制監測每個服務節點的狀態,專門用來監控集群系統中各個服務節點的狀態。如果某個伺服器節點出現異常,或者工作出現故障,keepalived將檢測到,並將出現故障的節點從集群系統中剔除...
redis 介紹及安裝
為了解決高併發 高可擴充套件 高可用 大資料儲存問題而產生的資料庫解決方案,就是nosql資料庫。nosql,泛指非關係型的資料庫,nosql即not only sql,它可以作為關係型資料庫的良好補充。2.1 鍵值 key value 儲存資料庫 voldemort berkeley db 典型應...