Puppent 介紹原理及安裝

2022-08-24 09:30:19 字數 4305 閱讀 7924

puppet原理

puppet是乙個或者多個master,眾多client,所有的客戶端都定期(預設為30分鐘)使用facter工具把

客戶端的基本資訊,通過https的xmlrpc協議傳送給伺服器端,伺服器端通過分析客戶端主機名,找到該主機

的配置**,然後編譯配置**,把編譯好的配置**傳送回客戶端,客戶端執行**完成配置,並且把**

執**況反饋給puppet伺服器端。

注釋:xmlrpc是使用http協議作為傳輸協議的rpc機制,使用xml文字的方式傳輸命令和資料。

安裝配置

環境系統版本

# cat /etc/redhat-release 

centos release

6.6 (final)

在master和client設定hosts

puppet要求所有機器有完整的網域名稱,如果沒有dns伺服器提供網域名稱的話,可以在機器上設定主機名

(注意:要先安裝puppet之前設定主機名,因為安裝puppet時會把主機名寫入證書,客戶端和服務端通訊需要這個證書),為了簡化安裝 直接配置/etc/hosts

#vim /etc/hosts

10.20.0.80

master01.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 8140

tcp 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 start

starting 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.com

puppet cert clean --all

如果出現錯誤 可以重新來執行

1 在agent端執行

cd /var/lib/puppet

rm -rf ssl/service puppet restart

2 master執行

cd /var/lib/puppet/ssl/ca/signed

rm -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 典型應...