多个Core-OS群集与一个单一的etcd群集?

是否有可能创build不同的核心os群集全部链接到1 etcd群集? 如果是的话,怎么样?

我有一个场景,我需要创build多个群集,但我想保留一个etcd群集。 目前我最终将所有的实例放在同一个集群中,甚至是自己的。 我如何确保有单独的群集?

我使用的方法是每个实例中的etcd2服务都有一个dropin环境文件(在云configuration中),其中包括有关初始集群

CoreOS中的集群由舰队pipe理,如果你想看看如何,看看“隐藏”的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设置支持这个etcd_key_prefix 。 默认情况下这是/_coreos.com/fleet/所以把它设置为一个类似的值,前后斜线,你应该很好。

我没有试过这个,但是我有兴趣知道这是否适合你。 如果cloud-config设置有效,那么每台机器应该有一个类似/run/systemd/system/fleet.service.d/20-cloudinit.conf的configuration,其中包含一个FLEET_ETCD_KEY_PREFIX环境variables。 然后,您应该可以使用etcdctl查看密钥并validationfleetctl操作是否正常。