我對於大型基礎架構的配置管理工具相對較新。該公司將在Linux和Windows上使用Salt,但我想這個問題並不涉及具體的工具。在Salt中管理定製的,特定於計算機的配置文件
我不明白的是,讓我們想象一下,我們在雲中有30臺機器,併爲它們中的每檯安裝了一些自定義服務。版本可以不同,取決於客戶訂閱。並且每個服務都有一個可以具有機器特定數據的配置文件。如何使用Salt或Puppet,Chef,Ansible等工具更新這些服務的配置文件。
我對於大型基礎架構的配置管理工具相對較新。該公司將在Linux和Windows上使用Salt,但我想這個問題並不涉及具體的工具。在Salt中管理定製的,特定於計算機的配置文件
我不明白的是,讓我們想象一下,我們在雲中有30臺機器,併爲它們中的每檯安裝了一些自定義服務。版本可以不同,取決於客戶訂閱。並且每個服務都有一個可以具有機器特定數據的配置文件。如何使用Salt或Puppet,Chef,Ansible等工具更新這些服務的配置文件。
我不知道鹽,但一般在配置管理工具有主機組的幾臺機器配置相同,模板和變量進行定製每臺機器 例如,你可以爲host1
指定變量port=8888
和port=9999
爲host2
,但nginx的模板將是這樣的:
server {
listen {{port}};
}
的兩臺服務器。 同樣的想法與計算機專用數據的例子(ansible):
- name: start container with mon
docker:
name: test-mongo
state: reloaded
image: mongo
when: master_ip == ansible_default_ipv4.address
其中master_ip
是我的變量和ansible_default_ipv4.address
是ansible被連接到該主機IP。
希望這會有所幫助。
在大多數情況下,廚師可以使用Erb模板進行配置並基於節點屬性進行插值。這些可能直接在節點上設置,或者您可以爲每個客戶創建一個角色並在其中設置特定於客戶的屬性數據。