天天看點

《Puppet實戰手冊》——1.9 利用Rake引導Puppet運作

本節書摘來自異步社群《puppet實戰手冊》一書中的第1章,第1.9節,作者:【英】john arundel著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

如果希望讓新的伺服器成為puppet基礎設施的一部分,隻需要在伺服器上面運作幾條指令就可以實作,但現在通過為rakefile添加新引導任務的方式使這一過程更加簡單。

準備工作

參考如下步驟,為這個方面做一些準備。

1. 将下面這行添加至rakefile檔案頂部。

<code>repo = '[email protected]:bitfield/cookbook.git'</code>

2. 将下面的任務添加至rakefile檔案的任意位置。

操作步驟

讀者需要配置一台新提供的伺服器(這是一台可以登入,但沒有安裝puppet或做過任何配置變更的伺服器)。如果使用ec2,建立一個新的ec2執行個體。在aws控制台擷取公網ip位址,就像下面這樣:

<code>ec2-107-22-22-159.compute-1.amazonaws.com</code>

使用rake引導新伺服器的步驟如下。

1. 在nodes.pp中為新管理的伺服器主機添加節點聲明。例如,如果使用cookbook-test作為主機名,參考配置如下:

2. 在自己主機的puppet倉庫目錄下運作如下指令(用新伺服器ip位址替換client變量值,使用你希望用的主機名替換hostname變量值)。這條指令應該在同一行:

3. 讀者将看到類似以下的輸出。

工作原理

下面分解rake任務是如何工作。為了讓機器運作puppet,需要給它設定主機名。

接下來,從puppet labs倉庫下載下傳并安裝puppet和git軟體包。

禁止ssh stricthostkeychecking選項,避免腳本克隆git倉庫時發出提示消息。

從倉庫檢出配置清單:

<code>git clone #{repo} puppet</code>

最後,運作puppet:

這台新機器已經能夠自動拉取并應用puppet的變更,不再需要像前面那樣登入到機器進行互動操作。讀者可以使用這個rake任務快速部署更多的新機器到puppet的管控中。

繼續閱讀