2016-10-06 38 views
0

我正在嘗試與廚師進行MSI網絡部署。我有大約400臺具有相同配置的Web服務器。我們將在每個200臺服務器的兩個插槽中進行部署。在windows中進行大規模web部署的廚師

我將遵循以下新版本的步驟,

1)增加食譜版本。

2)將食譜上傳到服務器。

3)將食譜版本更新爲角色和運行列表。

我會做很多步驟從cookbook像安裝7 msi,更新IIS設置,更新web.configure文件並添加註冊表項。一旦部署完成,我們需要更新測試團隊,以便他們可以開始測試。我的問題是如何確保在所有機器上成功完成部署?我怎麼能找到一個機器中沒有安裝一個MSI,或者一個web.config文件沒有正確更新?

我的理解是廚師客戶端每運行默認30分鐘,所以我等待下30分鐘才能完成部署。是否有任何其他方式推動(我不能使用推送工作,因爲廚師從廚師高可用性服務器推掉工作支持)從工作站的刀廚客戶端?

這很好,如果有人分享他們在大規模Windows部署中使用廚師的經驗。

在此先感謝。

回答

2

我personnaly使用rundeck觸發點播廚師運行。

根據您的描述,我會使用2 prod env,每個組會爲每個組分別添加一個食譜版本限制。

對於報告,在這個規模考慮購買一個許可證,以獲得廚師管理和廚師報告,所以你將有一個完整的概述,下一個選項是使用處理程序來報告運行狀態,併發送郵件,如果運行過程中出現錯誤。

+0

感謝Tensibai的你的想法。我會試試這個選項。 – Vinoth

+0

是的,我恐怕這主要是基於意見的:/ rundeck不是唯一的選擇,因爲不會固定到環境中......它可以通過具有版本依賴性的「組」包裝器食譜來完成。有很多事實上在你的問題中。也許可以在https://discourse.chef.io上更好地討論 – Tensibai

1

這裏沒有什麼特別的Windows,所以你要問的是如何在高流量環境中使用Chef。我強烈建議查看新的Policyfile工作流程,儘管它有一些明顯的侷限性,但我們已經取得了很多成功。我有一個導遊在https://yolover.poise.io/。食譜/數據發佈方面的另一個解決方案是將大量可調參數(例如要部署的東西的版本)從食譜中移出,然後放到某處的小型Web服務中,而不是從您的配方代碼中讀取它們以獲取它們調整數據。至於推拉與拉問題,大多數人最終都會選擇混合動力。正如@Tensibai提到的,​​RunDeck是一種流行的推送選項。通常情況下,您仍然可以在更長的週期時間(可能是1或2小時)內保持背景間隔運行,以捕捉配置漂移並使用推送系統執行更具體的部署任務。除RunDeck之外,您還可以查看Fabric,Capistrano,MCollective和SaltStack(可以使用其遠程執行層,而不使用CM工具)。廚師也有自己的推送工作項目,但我認爲我可以放心地說你應該避免在這一點上,它從來沒有得到足夠的社會動力去真正去任何地方。