Cluster
具有單個 etcd 集群的多個 Core-OS 集群?
是否可以創建所有連結到 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
操作是否正常。