集中管理利器-puppet快速入門-上

帶着問題來學習

從如下內容來看,如何自定義安裝用戶想要的東西呢?

103045354.png

系統更新問題

puppet支持多系統且會自動調用系統不同的命令和功能來完成目的。這裏也有個問題,如果系統有較大升級,puppet來不及更新怎麼辦?

軟件配置權限如何定義?

Master,agent 哪個主動通信

如何批量簽名

何批量安裝同功能模塊的服務器,批量操作同功能模塊的服務器,同功能模塊的服務器中新增機器如何處理(開新服)

是否能定期同步信息,爲什麼在agent上拉信息,不能是master發送信息。

Site文件越來越大,如何管理

Master管理多臺服務器性能出現瓶頸如何處理

多master之間時時同步機制puppet是否有內部組件實現

每個服務器上都需要有filea.txt ,filea.txt文件中只有hostname不一致如何實現


Puppet簡介:

功能說明

Puppet是一個基於R u b y ,並使用GPLv2協議授權的開源軟件,它既能以C/S的方式運行,也能獨立運行。它主要由Luke.Kanies和他的公司Puppet Labs ( 以前稱爲Reductive Labs)開發。Kanies從1997年開始涉足Unix和系統管理,然後基於這些經驗開發了Puppet。因爲對巳經存在的配置管理工具不滿意,Kanies在2001年開始了這- -新工具的開發,並於2005年創立了-家專注於自動化工具的開源軟件開發公司:PuppetLabs。不久之後,Puppet Labs發佈了他們的旗艦產品 Puppet。


企業應用

1.Google 通過puppet管理6000+mac電腦

2.安居客應用於服務器管理,官網甚至有安居客模塊代碼分享

3.中小企業的應用趨勢


工作原理

企業應用主要基於puppet的C/S架構。

103048562.png


數據流向:

puppet與其它自動化工具對比(摘自華東技術分享ppt

103046259.png



爲什麼選擇puppet

puppet與其它自動化工具對比(摘自華東技術分享ppt


103049204.png

特性簡述

master,node 均以demo方式運行,默認每30min通信一次;

高級應用建議學習ruby;

建議選擇2.6.x以上版本,reset api替換了xml-rpc作爲傳輸層,極大提高性能;

2.6版本後支持windows平臺;

當前新版本爲3x系列;

支持圖表輸出及報告輸出功能;

基於ssh加密認證

官網及中文論壇

http://www.puppetfans.com/forum-81-1.html

http://puppetlabs.com/


Puppet的基本安裝部署

1.本地環境

puppet master

Hostname  

pmaster  pmaster.example.com

Innerip    

192.168.61.152

System info

CentOS release  5.3

puppet agent

Hostname  

node1  node1.example.com

Innerip    

192.168.61.153

System info

CentOS release  5.3


2.配置yum源(CentOS release 5.3):

cat /etc/yum.conf

[163netyum]

name=Centos-5.3 163

baseurl=http://mirrors.163.com/centos/5/os/i386/

gpgcheck=0

3.安裝ruby組件–puppet基於ruby開發

yum install ruby ruby-libs ruby-shadow

4.添加epel倉庫

rpm -Uvh  http://mirrors.yun-idc.com/epel/5Server/i386/epel-release-5-4.noarch.rpm

5.安裝puppet

Master# yum install puppet puppet-server facter

agent #   yum install puppet facter



****恭喜各位,如上一切無誤後即可嘗試啓動進程了****


6.嘗試啓動master puppet

啓動master puppet,並確認8140端口已被監聽:  #puppet返回成功,但不一定能成功啓動,puppet這個功能希望能改進…

service puppetmaster start

103047781.png

7.目錄結構

/etc/puppet/  #默認安裝目錄

|-- auth.conf

|--  fileserver.conf

|-- manifests

|   |-- init.pp  

|   `-- site.pp  

|-- modules    

`-- puppet.conf

Manifests 如沒有手動創建,site.pp手動創建

8.配置hosts或DNS

103049473.png

103047602.png

9.連通性檢查

在agent服務器上執行telnet 192.168.61.152 8140確認mater8140端口可通

103050820.png

10.申請簽名認證

###在Agent上發起簽名申請:

# puppet agent  --server=pmaster.example.com  --no-daemonize –verbose  ##hosts需要是全名,不然會報錯如下所有操作類同

### master 查看簽名列表:

# puppet cert  –list      ##查看等待簽名的服務器列表

103047587.png

###在master機給予簽名:

# puppet cert  --sign node1.example.com     ##指定節點簽名

# puppert cert  –sign –all                   ##對所有等待的證書進行簽名

info: Creating  a new SSL key for node1.example.com

info: Caching  certificate for ca

info: Creating a new SSL certificate request for  node1.example.com

info:  Certificate Request fingerprint (md5):  C7:37:94:86:27:E3:2C:B0:B7:40:26:62:69:1C:0E:B0

info: Caching certificate for node1.example.com

info: Caching certificate_revocation_list for ca

103050291.png

--簽名完畢後不能再隨意修改主機名,否則認證失效--



###刪除認證

注意:

生成證書時,主機名會寫入證書,所以證書生成後,如果更改主機名,證書就失效了。
解決辦法:

其實申請證書的過程就是服務器端生成證書,併發送到客戶端的過程。
刪除掉服務器端的客戶機證書 rm -f    /var/lib/puppet/ssl/ca/signed/主機名.pem

客戶端刪除掉ssl目錄/var/lib/puppet/ssl
或者:

puppetca    --clean xx.xx.xxx

103501705.png





11.連通性驗證

a>maser

vi /etc/puppet/manifests/site.pp
site.pp文件定義puppet相關的變量和默認配置,是puppet執行的第一個文件

代碼如下:

node default{

   file{"/tmp/hello.txt":

       content => "Hello  World.\n",

}

}

node  "node1.example.com" {

file {  "/tmp/puppetnode1.txt":

      owner   => "root",

      group   => "root",

     ensure   => "present",

    content   => "puppet node1 test!\n",

       mode   => "644",

}

}

Node1.example.com不會執行default裏面的內容:

即:一個client只能存在於一個node中。

可以通過在node default中使用if 判斷來選擇生效的node

b>agent

同步master配置

#  puppetd --test --server pmaster.example.com

103502893.png




***********至上簡C/S  puppet基礎架構已搭建完畢。恭喜各位*************

**********puppet 配置進階請參考《集中管理利器-puppet快速入門-下》 ***********



*******************************************************************************************

* 爲最大限度不影響讀者感官: *

* http://fengzhilinux.blog.51cto.com/1343279/1320317另起欄目,也請大家多支持 *

*******************************************************************************************




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章