Cluster

具有單個 etcd 集群的多個 Core-OS 集群?

  • July 30, 2016

是否可以創建所有連結到 1 個 etcd 集群的不同核心作業系統集群?如果是,如何?

我有一個場景,我需要創建多個集群,但我想保留一個 etcd 集群。目前,我最終將所有實例都放在同一個集群中,甚至 etcd 它自己。如何確保有單獨的集群?

我遵循的方法是,每個實例中的 etcd2 服務都有一個 dropin 環境文件(在雲配置中),其中包含有關初始集群的詳細資訊

CoreOS 中的集群是由fleet 管理的,如果你想了解如何,請查看“隱藏”etcd/_coreos.com/fleet

$ etcdctl ls /_coreos.com/fleet
/_coreos.com/fleet/machines
/_coreos.com/fleet/engine
/_coreos.com/fleet/lease
/_coreos.com/fleet/unit
/_coreos.com/fleet/job
/_coreos.com/fleet/state
/_coreos.com/fleet/states

如果您可以以某種方式更改艦隊使用的密鑰前綴,那麼您應該能夠使用相同的 etcd 擁有單獨的集群。

車隊的cloud-config 部分確實通過etcd_key_prefix設置支持這一點。預設情況下/_coreos.com/fleet/將其設置為具有前導和尾隨斜杠的類似值,您應該很高興。

我沒有嘗試過,但我很想知道這是否適合你。如果 cloud-config 設置有效,那麼每台機器都應該有一個/run/systemd/system/fleet.service.d/20-cloudinit.conf包含FLEET_ETCD_KEY_PREFIX環境變數的配置。然後,您應該能夠使用etcdctl來查看密鑰並驗證fleetctl操作是否正常。

引用自:https://serverfault.com/questions/792767