kubernetes HA集群中master相互发现的好方法是什么?

问题描述

我在具有三个主节点和 HAProxy 充当负载均衡器的气隙网络上以高可用性配置运行 kubernetes。我希望能够安装和卸载 kubernetes 及其相关服务(crio、multus、haproxy 等)。我遇到了一个问题,如果我处于没有控制平面运行的状态并尝试同时启动多个控制平面,它将创建多个独立的集群。

主节点运行一个 shell 脚本来设置控制平面。当第一个控制平面安装时,它会创建一个 kubeadm 引导令牌并将打印的 join 命令输出文件中。当控制平面进行安装时,它们会检查 haproxy 的 cfg 文件获取可能的控制平面列表,然后尝试从列表中的所有服务器安全复制加入命令文件,直到找到它为止。它使用副本的成功作为集群存在并加入集群的证明。问题是,如果 master 尝试同时安装,则在 master 可以创建令牌并尝试创建自己的集群之前检查 join 命令文件

我认为有更好的方法让主节点自动发现彼此的存在并加入现有集群。要求是主节点永远不能保证其他主节点可用或安装了 kubernetes,如果不存在则需要创建自己的集群。另外,这个网络是气隙的,所以我不能使用外部服务。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)