天天看點

Puppet的安裝和初使用

一個人管一百台伺服器的時候,就要用到批量處理工具,這樣可以把大量無聊重複的任務一口氣完成,之前我一直用pssh,因為pssh就是一個類似for in語句的工作原理,但是這玩意不能保證時時同步伺服器組的内容,是以在這一點上puppet更牛,也是現代管理中puppet更受青睐的原因。

puppet跟 zabbix一樣,也是管理者所操作的中心機是“伺服器端”,需要安裝一個puppet-server ,而被操作的那些機器叫“用戶端”,每台機器都需要安裝一個puppet-client。然後伺服器和用戶端都勾搭成功之後,每半個小時,伺服器就會檢查一下用戶端們上的軟體版本,然後第一時間把這些軟體同步,嗯,有點類似rsync功能。

安裝前的準備 

剛剛說過,伺服器和用戶端每隔半個小時就會通信一次,那麼可見puppet的基本條件就是要時間鐘是一緻的,如何一緻?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<code>[root@localhost chenshuo]</code><code># date</code>

<code>Sat May 28 16:38:02 EDT 2016</code>

<code>[root@localhost chenshuo]</code><code># yum install ntp</code>

<code>Loaded plugins: fastestmirror, refresh-packagekit, security</code>

<code>Setting up Install Process</code>

<code>Loading mirror speeds from cached hostfile</code>

<code> </code><code>* base: mirrors.aliyun.com</code>

<code> </code><code>* extras: mirrors.yun-idc.com</code>

<code> </code><code>* updates: mirrors.yun-idc.com</code>

<code>Package ntp-4.2.6p5-10.el6.centos.x86_64 already installed and latest version</code>

<code>Nothing to </code><code>do</code>

<code>[root@localhost chenshuo]</code><code># chkconfig ntpd on</code>

<code>[root@localhost chenshuo]</code><code># ntpdate pool.ntp.org</code>

<code>28 May 08:42:10 ntpdate[28852]: step </code><code>time</code> <code>server 182.92.12.11 offset -28590.133953 sec</code>

<code>Sat May 28 08:42:35 EDT 2016</code>

<code>[root@localhost chenshuo]</code><code># service ntpd start</code>

<code>Starting ntpd:                         [  OK  ]</code>

可見原本這個機器的時間是5月28日下午4點38分,現在已經改成了5月28日8點42分。

配置完時間之後,就是安裝以下元件:

<code># yum install ruby ruby-libs ruby-rdoc   Puppet 需要 Ruby 的支援,如果要檢視指令行幫助的話需要額外 ruby-rdoc 這個軟體包:</code>

<code># yum -y install wget    安裝(更新)wget功能</code>

<code># wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm</code>

<code># yum install puppetlabs-release-6-1.noarch.rpm    安裝rpm包</code>

<code># yum update    yum更新,這個過程比較繁瑣</code>

中心機與客戶機的安裝

然後在中心機上安裝puppet-server。

<code># yum install puppet-server</code>

<code># chkconfig puppet on</code>

<code># service puppetmaster start</code>

<code>Starting puppetmaster:                                     [  OK  ]</code>

再使用# /etc/init.d/iptables stop這個指令把防火牆關閉,這樣就不會出現一些包丢棄的意外情況了。

在客戶機上安裝puppet-client。直接使用# yum install puppet就行。

Puppet 用戶端使用 HTTPS 和服務端(master)通信,為了和伺服器端通信必須有合法的 SSL 認證,第一次運作 puppet 用戶端的時候會生成一個 SSL 證書并指定發給 Puppet 服務端。

# puppet agent --no-daemonize --onetime --verbose --debug --server=伺服器的主機名稱

Puppet 服務端接受到用戶端的證書後必須簽字(sign)才能允許用戶端接入,sign 後用 puppet cert list –all 檢視會發現 client.vpsee.com 前面多了一個 + 後,表示 “加入” 成功:

參考文章:http://www.jbxue.com/article/3196.html

 本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1784142

繼續閱讀