歡迎您光臨本站 註冊首頁

puppet 基礎知識

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

puppet 基礎知識

puppet 基礎知識


puppet,這是目前運維主流的運維自動化工具,大多數運維管理人員都聽說過,或者在使用以及在正在考慮使用中。puppet可以配合cobbler,puppet也可以配合func 實現運維自動化,簡單化,化繁雜為簡單。
1.什麼是puppet
puppet是一種Linux、Unix平台的集中配置管理系統,使用ruby語言,可管理配置文件、用戶、cron任務、軟體包、系統服務等。puppet把這些系統實體稱之為資源,puppet的設計目標是簡化對這些資源的管理以及妥善處理資源間的依賴關係。
2.puppet的語法
由於puppet是由ruby寫的,因此如ruby語法非常相近,關於ruby的介紹:請參閱 http://ruby-lang.org
3. 如何獲得puppet模塊
puppet實驗室提供下載:http://projects.puppetlabs.com/projects/1/wiki/Downloading_Puppet
4.puppet能管理哪些資源:
puppet介紹里有寫過,他能管理file(文件),user(用戶),group(組),package(軟體包),mount(掛載),schedule和cron(計劃任務),service(服務),tidy(清理),yumrepo(yum倉庫),ssh key (ssh認證)等常用資源。

5.puppet如何安裝,配置。

1. Puppet在RedHat/CentOS系統上安裝

1). 安裝ruby環境:

yum install ruby ruby-rdoc

2). 安裝puppet

yum -y install puppet puppet-server

6. Puppet的工作模式

Puppet是一個C/S架構的配置管理工具,在中央伺服器上安裝puppet-server軟體包(被稱作Puppet master)。

在需要管理的目標主機上安裝puppet客戶端軟體(被稱作Puppet Client)。當客戶端連接上Puppet master后,

定義在Puppet master上的配置文件會被編譯,然後在客戶端上運行。每個客戶端默認每半個小時和伺服器進行

一次通信,確認配置信息的更新情況。如果有新的配置信息或者配置信息已經改變,配置將會被重新編譯併發布

到各客戶端執行。也可以在伺服器上主動觸發一個配置信息的更新,強制各客戶端進行配置。如果客戶端的配置

信息被改變了,它可以從伺服器獲得原始配置進行校正。

7. puppet配置文件介紹

主配置文件(puppet.conf):1). 配置文件命名空間:
main 通用配置選項

puppetd 客戶端配置選項

puppetmasterd 服務端配置選項

2). main命名空間選項:
confdir 配置文件目錄,默認在/etc/puppet

vardir 動態數據目錄,默認在/var/lib/puppet

logdir 日誌目錄,默認在/var/log/log

rundir puppet PID目錄,默認在/var/run/puppet

statedir state目錄,默認在$vardir/state

statefile state文件,默認在$statedir/state.yaml

ssldir SSL證書目錄,默認在$vardir/ssl

trace 發生錯誤時顯示跟蹤信息,默認false

filetimeout 檢測配置文件狀態改變的時間周期,單位秒,默認15秒

syslogfacility 指定syslog功能為user級,默認為daemon級

3). puppetmasterd命名空間選項:
user 後台進程執行的用戶

group 後台進程執行的組

mainfestdir mainfests文件存儲目錄,默認為$confdir/mainfests

mainfest mainfest站點文件的名字,默認為site.pp

bindaddress 後台進程綁定的網卡地址介面

masterport 後台進程執行的埠,默認為8140

4). puppet命名空間選項:
server puppet puppet伺服器名,默認為puppet

runinterval seconds puppet應用配置的時間間隔,默認1800秒(0.5小時)

puppetdlockfie file puppet lock文件位置,默認$statedir/puppetdlock

puppetport port 後台進程執行的埠,默認8139

文件服務配置文件(fileserver.conf):


path /var/lib/puppet/files

allow  192.168.1.*

allow *.test.com

deny *.example.com

path定義文件存放路徑,通過allow/deny來控制訪問許可權。


8. puppet命令集
1). puppet 用於執行用戶所寫獨立的mainfests文件

# puppet -l /tmp/manifest.log manifest.pp

2). puppetd 運行在被管理主機上的客戶端程序

# puppetd –server puppet

3). puppetmasterd 運行在管理機上的伺服器程序

# puppetmasterd

4). puppetca puppet認證程序

# puppetca -l

test1.test.com

+test2.test.com ##前面有個+號上面已經簽過名.

# puppetca -s test1.test.com ##給test1.test.com簽名

5). puppetrun 用於連接客戶端,強制運行本地配置文件

# puppetrun -p 20 –host test 1 –host test2 -t remotefile  -t webserver

6). filebucket 客戶端用於發送文件到puppet file bucket的工具

# filebucket -b /tmp/filebucket /my/file

7). ralsh 轉換配置信息到puppet配置代碼

#ralsh user sky

更多請參閱:http://www.mysqlops.com/category/puppet

《解決方案》

謝謝分享
《解決方案》

不錯,謝謝分享!
《解決方案》

謝謝分享,正對著干感興趣呢

[火星人 ] puppet 基礎知識已經有380次圍觀

http://coctec.com/docs/service/show-post-349.html