puppet 學習(一 安裝及簡單例項應用)

2021-09-20 15:58:57 字數 4430 閱讀 2863

本次安裝環境是: centos 5.4 x86_64位

server:

1.先安裝

ruby

語言包、

ruby

標準庫、

ruby shadow

庫 yum install -y  ruby ruby-libs ruby-shadow 2.

需要新增

eprl

庫,來支援

如果你的系統是

centos 6

版本的或者是

centos 5

版本但是是

32位的,可以到**:

dl.fedoraproject.org

查詢你們想要的

3.在 master

主機上,需要從

epel

倉庫安裝

puppet

、 puppet-server facter

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

puppet

軟體包含了

agent

程式,puppet-server

軟體包含了

master

程式,facter

軟體包含了系統盤點工具

facter

,可以獲取

agent

主機的相關資訊

yum install -y puppet puppet-server facter

之後啟動

puppet master

service puppetmaster start 啟動

puppetmaster

: [

確定]

這樣,puppet server

上的安裝算是完成了

現在,master

和 agent

都安裝好了,

解釋一下

/etc/puppet/

下的檔案含義:

puppet.conf   puppet

的服務端配置檔案

auth.conf   client

訪問puppet server

的 acl

配置檔案

fileserver.conf   puppet server

作為檔案伺服器的

acl配置檔案

manidests    puppet

的指令碼目錄檔案目錄

site.pp 

檔案告訴

puppet

去**尋找並載入指定的客戶端配置,如果缺少此檔案,

puppet

會啟動失敗的

防火牆設定

-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 8140 -j accept

需要重啟防火牆,

service iptables restart

配置好防火牆後,就可以允許

client

訪問puppet

配置第乙個agent

client

同樣需要安裝

epel-release-5-4.noarch.rpm

wget 

rpm -ivh epel-release-5-4.noarch.rpm 在

agent

端只需要安裝:

yum install puppet facter

client請求

puppet agent --server=puppet.***x.com(puppet master網域名稱)  --verbose --no-daemonize

解釋:引數

--server 

指定了需要連線

puppet master 

的網域名稱或者主機名,盡量使用網域名稱吧,否則不同網路之間無法通過主機名相通

--no-daemonize 

使得puppet 

客戶端執行在前端並輸出日誌到標準輸出

--verbose 

使客戶端輸出更詳細的日誌

server端需要相應這個請求

檢視:puppet cert –list

"shwt08" (94:bc:4a:fa:31:e1:10:9f:3c:4d:b3:e8:cb:a4:f8:b9)

puppet cert --sign shwt08

notice: signed certificate request for shwt08

notice: removing file puppet::ssl::certificaterequest shwt08 at '/var/lib/puppet/ssl/ca/requests/shwt08.pem'

當然,如果我們有很多個

client

的話,都需要乙個個去認證確實是一件很麻煩的事情,所以,修改

puppet.conf

檔案,實現自動化認證

在全域性」[mian]」

下新增一行:

autosign = true 重啟

master

service puppetmaster restart

重新新增乙個

clint

,驗證需要先去

wget 

後需要編輯

/etc/hosts 之後

puppet agent --server=puppet.***x.com  --no-daemonize –verbose 

發現是沒有問題的

建立第乙個配置:

在master上修改兩個檔案:

目錄

/etc/puppet/manifests

下:nodes.pp  site.pp  

如果沒有這兩個檔案就手工建吧

vi nodes.pp

node default }

vi site.pp

import 'nodes.pp'

至於具體的解釋說明,等下章再詳細的解釋下,這篇文章主要來闡明

puppet安裝及簡易同步檔案

的效果測試來同步乙個檔案

puppet agent --server=puppet.***x.com --test -v ok

,從詳細資訊中,得知

client

已經同步檔案了

下面說遇到的兩個錯誤:

錯誤1

err: could not retrieve catalog from remote server: hostname not match with the server certificate

解決辦法: 在

master

和 client

上檢視是否二者日期不同步 在

client

上配置/etc/hosts

檔案,編輯新增

puppet.***x.com 解析(ip 網域名稱)

錯誤2

err: could not retrieve catalog from remote server: connection refused - connect(2)

解決辦法:

這個是因為

master 

上的主程式沒有啟動的緣故,到

master

上檢視程式

puppetmaster 

發現提示程序已死,

service puppetmaster status

puppetmasterd 

已死,但

pid 

檔案仍存

檢視了下配置檔案,發現是在修改

fileserver.conf

時修改錯誤導致的,也就是說當遇到這個錯誤提示的時候,要檢視

/etc/puppet

目錄下的主配置檔案是否有問題

檔案fileserver.conf 

中:[files]

path /var/lib/puppet/files 這個

path

下是放置我們要同步更新的檔案

puppet安裝及測試

本文系統client6.0 本文旨在安裝puppet,並且測試ok 相關file,service,exec,user管理後面會推出 master端 1 2 3 4 5 6 7 root master hostname master.lansgg.com root master cat etc hos...

Puppet學習之puppet的安裝和配置

puppet 學習之puppet的安裝和配置 一 puppet 簡介puppet 基於ruby 語言開發的自動化系統配置工具,可以 c s模式或獨立執行,支援對所有 unix 及類unix 系統的配置管理,最新 版本也開始支援對 windows 作業系統有限的一些管理 puppet 適用於伺服器管的...

centos7 簡單安裝puppet

1,安裝puppet注意 客戶端和伺服器版本盡量保持一致,如果不能一致,客戶端的version也不能太舊,服務端的version不能低於client端 安裝及簡單配置步驟 安裝準備 server client端適用 首先,要更改計算機名 hostname puppet.nn.local 或者 hos...