2017-02-27 144 views
0

我正在嘗試爲新項目找到正確的配置管理工具。我遇到了Consule。在我回到我的問題之前,我想引用什麼樣的領事頁面說:配置的靜態配置和動態配置

配置管理工具可以提供的靜態配置可以移動到動態鍵/值存儲中。這允許應用程序配置更新而不會收斂緩慢。

它還說:

儘管如此,領事是不是配置管理工具的替代品。這些工具對於設置應用程序至關重要,包括Consul本身。靜態配置最好由現有工具管理,而動態狀態和發現則由Consul更好地管理。

來源:https://www.consul.io/intro/vs/chef-puppet.html

我的理解是領事是一個動態的配置管理工具,它的快。但我的問題是,它與主廚等靜態配置管理工具有什麼不同?

最重要的是什麼時候選擇什麼?

回答

2

它不是真的太快或慢。 Chef/Ansible/Puppet /等的問題。這些系統通常是週期性運行的,例如,每30分鐘一班。因此,如果一個節點發生變化(或被添加/刪除),則可能需要長達30分鐘,直到所有其他節點都注意到這一點(應用程序服務器和數據庫服務器可以互相找到對方)。

領事(或許與consul-template)要快得多,有點直接,這裏。所有相關的註釋都會通知有變化。但是,它沒有提供上述配置管理工具的原語。

所以兩者的結合也是有效的。廚師/木偶/ Ansible /等。安裝軟件包並編寫大部分配置,再加上Consul(或etcd)作爲快速移動部件。

1

這裏是我的$ 0.05對這個問題: 如果你有一些雲上動態基礎設施 - 的創建和偶爾破壞(「臨時服務器」),這意味着服務器,通常要滿足一些變化的負載,然後領事是很棒的工具:這些服務器可以在啓動時啓動並從consul讀取他們的配置。

理想情況下,在這個用例中,您將啓動一個預先定製的服務器,以滿足您的需求。例如,你的服務器在啓動時需要有它的領導。您可以使用Ansible將領事預烘烤到服務器中。

所以整個過程是這樣的:

  1. 您爲您的服務器模板,你需要(庫,應用程序,領事,等等)的所有東西。你可以使用Ansible來做到這一點。這隻需完成一次(每個模板)
  2. 您使用您的雲來啓動這些模板 - 當它們啓動時,它們上的consul客戶端從Consul集羣獲取一些額外的配置值(每次服務器啓動時都會發生這種情況) 。