Puppet學習之puppet的安裝和配置

2022-08-02 22:03:08 字數 4173 閱讀 6076

puppet

學習之puppet的安裝和配置

一、puppet

簡介puppet

基於ruby

語言開發的自動化系統配置工具,可以

c/s模式或獨立執行,支援對所有

unix

及類unix

系統的配置管理,最新

版本也開始支援對

windows

作業系統有限的一些管理

。puppet

適用於伺服器管的整個過程

,比如初始安裝、配置更新以及系統下線。

二、puppet

的安裝puppet

的安裝方式支援原始碼安裝、

yum安裝以及

ruby

的gem

安裝。官網推薦使用

yum來安裝

puppet

,方面以後的公升級、管理、維護。

centos

可以採用

yum來安裝,但是

centos

的預設源中沒有

puppet

包,因此需要先安裝

epel

包。epel

是企業版

linux

附加軟體包

(extra packages for enterprise linux)

的縮寫,是乙個由特別興趣小組建立、維護並管理的,針對

紅帽企業版

linux(rhel)

及其衍生發行版(比如

centos

、scientific linux)

的乙個高質量附加軟體包專案。

1.master

的安裝yum -y install ruby ruby-libs

ruby-shadow

wget

rpm -uvh epel-release-5-3.noarch.rpm

yum -y install puppet puppet-server

facter

2.agent

的安裝yum install ruby ruby-libs ruby-shadow

wget

rpm -uvh epel-release-5-3.noarch.rpm

yum -y install puppet facter

至此如果安裝過程不報錯的話,

puppet

已經安裝成功了。

三、puppet

的簡單配置

1.master

的配置先來看看

puppet

主目錄下都有什麼檔案已經每個檔案是做什麼用的:

ls -1 /etc/puppet/

auth.conf#

定義puppet master

的acl

檔案fileserver.conf#

定義puppet master

檔案伺服器的配置檔案

manifests #puppet

指令碼主檔案目錄,

site.pp

檔案必須存在

modules#puppet

模組目錄

puppet.conf#puppet

主配置檔案

ssl#

存放ssl

證書的目錄

剛開始的話,

puppet.conf

不需要配置就可以滿足。

需要更改

hosts

檔案,注意

hosts

要和主機名對應。

vim /etc/hosts

新增如下內容:

10.1.4.218 puppet.zhang.com puppet

10.1.4.213 node1.zhang.com node1

10.1.4.214 node2.zhang.com node2

大家要根據實際情況加,我這裡是乙個

master

,兩個agent。2.

agent

的配置agent

的配置主要是更改

agent

上的/etc/puppet/puppet.conf

檔案的[agent]

部分。在

agent

上vim /etc/puppet/puppet.conf

新增如下配置

server = puppet.zhang.com#master

伺服器的位址

runinterval = 3600

#每隔多久的時間進行自動更新

,時間單位為秒

listen =

true#

客戶端作為乙個服務進行監聽,允許其它的機

器觸發puppet

執行允許遠端觸發

puppet

的節點配置

四、puppet

的啟動和停止

1.master

的啟動和停止

master

的啟動/etc/rc.d/init.d/puppetmaster start

也可以以採用

service

puppetmaster start

啟動第一次啟動建議採用

puppet master --verbose --no-daemonize

方式啟動,有助於測試和除錯錯誤,如果採用後面這種方式,你可以看到啟動的整個過程,啟動過程會做一些初始化的工作,為

master

建立本地證書認證中心,證書和

key。並開啟

socket

等待client

的連線。你可以在

/etc/puppet/ssl

目錄看到相關的檔案和目錄。

master

的停止/etc/rc.d/init.d/puppetmaster stop

也可以以採用

service

puppetmaster stop

停止更改多選項可以使用

/etc/rc.d/init.d/puppetmaster –h

檢視2.

agent

的啟動和停止

agent

的啟動/etc/rc.d/init.d/puppet start

也可以採用

service puppet start

來啟動除錯的時候可以採用

puppet agent --server=puppet.zhang.com

--no-daemonize –verbose

的方式來啟動,這樣啟動我們可以看到

agent

是如何和

master

建立連線的。

agent

的停止/etc/rc.d/init.d/puppet stop

也可以採用

service puppet stop

來停止。

五、faq

1.連線

master

的時候出現如下報錯:

dnsdomainname: unknown host

解決辦法:檢查機器主機名的設定,以及是否新增進

hosts。2.

連線master

的時候出現如下報錯:

err: could not request certificate: getaddrinfo:

name or service not known

解決辦法:伺服器端沒有配置

hosts

網域名稱繫結,在

hosts

中新增。

3.連線

master

的時候出現如下報錯:

warning: peer certificate won't be

verified in this ssl session

解決辦法:服務端還沒有返回簽發證書,使用

puppet cert --list

檢視4.

連線master

的時候出現如下報錯:

err: could not retrieve catalog from

remote server: certificate verify failed

解決辦法:客戶端和伺服器端時間不同步,

ssl連線需要依賴主機上的時間是否正確。執行更新時間的命令:

/sbin/ntpdate asia.pool.ntp.org

puppet 學習小記

之前做puppet部署openstack keystone,接觸過一點點puppet,記錄一下 首先是一些基本的知識。puppet分master節點和client節點,client節點請求master節點控制,master同意控制,發布證書,然後到client節點上執行puppet agent te...

Puppet學習之exec資源管理

puppet 學習之exec資源管理 一 puppet exec 簡介puppet 通過exec來執行外部的命令或者指令碼,一般來講是shell指令碼 這裡面就涉及到乙個重複執行的問題,因為預設的agent一連線上來就會自動執行對應的命令或者指令碼。如果指令碼重複執行對系統沒影響的還無所謂,如果會對...

puppet之模板和類

vim etc puppet manifests site.pp 1 import nodes pp 建立節點檔案 2 安裝模組 3 配置部分 4服務管理 讓server4執行此模組 vim etc puppet manifests nodes server3.pp 1 node server4.e...