6

在多臺服務器上運行Rails應用程序(〜20),我想能夠從一臺服務器上管理配置文件(主要是* .yml,還包括SSL pem/certs文件和其他文本)單一位置,以便對所有服務器添加對文件或新文件的任何更改。在多個服務器上管理配置文件

我也想通過git擁有這個內容源控制器。

更新不頻繁,我想保持應用程序不變,使數據從文件中讀取,因爲它是現在。

什麼是可用的解決方案,Zookeeper是否合適?

回答

1

我沒有使用Zookeeper,但我相信你應該能夠像PuppetChef這樣的工具來完成你需要的工作。

+0

謝謝,我已經在使用Chef進行各種安裝,但是,我不知道Chef對配置文件管理的用法,您是否有任何具體的指向這種Chef的用法? – 2013-05-01 09:16:37

+0

對不起,我沒有:)我一直想要自己嘗試,只是認爲我會拋出那裏:)我假設你可以保留配置文件的中央存儲庫,並有廚師/木偶寫他們到所有服務器上的位置? – jordelver 2013-05-01 09:35:08

+0

你有沒有和主廚一起解決這個問題? – jordelver 2013-05-20 09:06:08

0

我們使用ZooKeeper進行實時設置。 一個想法是使用註冊表。

假設你有一個名爲Arst的組件。

你可以有一些配置 - 可以說,這些文件夾下的Redis分別代表不同的實例:

/dbs/redis/0 (host, port, db, password as children) 
/dbs/redis/1 (host, port, db, password as children) 
/dbs/redis/prod (host, port, db, password as children) 

如果你的組件ARST需要使用實例0,你可以有這樣的註冊表:

/arst/redis/0 

如果您想添加1,只需添加節點,並且應用程序中的子表會爲您更新,而無需重新啓動。 儘管這樣做並不是很簡單,管理設置對於像qa這樣的團隊來說可能會很痛苦。

所以我將在控制檯上工作以幫助完成此操作。我們會開源採購一些作品。

+0

謝謝,除非我錯過了什麼,這是動物園管理員的使用。你會如何將它連接到Rails應用程序? – 2013-06-05 16:14:14

+0

我說你可以把你的配置放入zookeeper。我想我可能誤解了這個要求 - 如果我現在正確地理解了,確實你正在尋找一個配置管理數據庫(CMDB)。 – JasonG 2013-06-05 17:56:04