两个kubernetes集群能否共享相同的外部etcd并像主从机一样工作

两个kubernetes集群能否共享相同的外部etcd并像主从机一样工作,kubernetes,etcd,Kubernetes,Etcd,我们需要设置一个地理冗余集群。我正在考虑共享一个外部etcd集群来运行两个kubernetes集群。一开始听起来可能很荒谬,但要求已经归结到了这一点。我正在寻找一些方向,以确定这是否可行,如果不可行,挑战是什么。是的,这是可能的,您可以将一个etcd集群和多个k8s集群连接到它。实现它的关键是使用kubernetes apiserver提供的-etcd前缀字符串。这样,每个集群将使用不同的根路径来存储其资源,并避免与etcd中的第二个集群发生冲突。除此之外,还应该为每个k8s集群设置适当的rba

我们需要设置一个地理冗余集群。我正在考虑共享一个外部etcd集群来运行两个kubernetes集群。一开始听起来可能很荒谬,但要求已经归结到了这一点。我正在寻找一些方向,以确定这是否可行,如果不可行,挑战是什么。

是的,这是可能的,您可以将一个etcd集群和多个k8s集群连接到它。实现它的关键是使用kubernetes apiserver提供的
-etcd前缀字符串。这样,每个集群将使用不同的根路径来存储其资源,并避免与etcd中的第二个集群发生冲突。除此之外,还应该为每个k8s集群设置适当的rbac规则和证书。您可以在以下文章中找到有关它的更详细信息:


编辑:哦,等等,刚才注意到你想让这两个集群作为主从。在这种情况下,您可以通过在etcd中为从集群分配一个只读角色来实现它,并在它必须成为主集群时将其更改为读写。理论上它应该可以工作,但我从未尝试过,我认为最好的选择是使用内置的k8s机制实现高可用性,如领导人选举。

您正在寻找Kubernetes群集联合体吗