首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同子网上kubernetes主站的负载平衡

不同子网上kubernetes主站的负载平衡
EN

Server Fault用户
提问于 2021-06-01 10:41:36
回答 1查看 566关注 0票数 1

我试图在不同的站点(不同的子网)上构建一个具有主HA的新k8s集群的体系结构。

我面临的问题是找到一个开放源码软件负载平衡(站点上没有物理的,它是在prem上)谁可以支持不同的子网(GSLB)。

负载均衡器是为Apiserver和所有连接到主程序。

有人在使用这个架构吗?你用过巫婆吗?我不能使用HAproxy或摇摆bc,他们不支持不同的子网。

EN

回答 1

Server Fault用户

发布于 2021-06-11 15:38:48

经过一些研究和实验,对于其中一个解决方案和它的用法有如下考虑(这个问题可以用不同的方式解决)。

Nginx ( not,not PLUS)和haproxy可以为kubernetes API服务器加载不同子网之间的均衡通信量,而不会出现任何问题。但是,由于keepalived协议(如HSRPVRRP鲤鱼 )的限制,不能在超过一个子网中工作。

这里的潜在解决方案可以是使用至少2个here /nginx实例(用于冗余)的体系结构,在一个子网中使用keepalived +,例如负载均衡器上的鲤鱼层。这样,健康检查将在顶层进行,负载平衡器将使用kubernetes api服务器路由到其他子网。

至于子网的可用性和冗余性,可以通过动态路由来解决,例如OSPF协议作为一部分,interior gateway protocol路由和BPG协议用于exterior gateway protocol路由。

另一个开源但付费的解决方案是Nginx +。它可以进行积极的健康检查(如TCP主动健康检查)和GeoIP功能

同时,Nginx还支持GSLB。以下是Nginx官方文件的引文:

全球服务器负载平衡(GSLB)是指位于多个存在点(PoPs)中的跨服务器资源的流量的智能分布。GSLB最常见的实现方法是控制对DNS请求的响应,根据每个PoP的可用性、性能和邻近性,将每个用户引导到最合适的目标IP地址。

这将导致使用额外的DNS服务。例如NS1。从它开始有一些先决条件:

  • 注册域名
  • NS1帐户
  • 三个或更多已部署的NGINX实例,每个实例具有:

请阅读GSLB文章中Nginx +的完整描述和设置

更新:

GSLB的概念不仅仅是关于负载均衡和健康检查(例如keepalived ),还包括使用DNS。经常使用DNS提供者提供的服务更便宜,更健壮。例如,NS1提供基于DNS的GSLB

此外,您还可以熟悉一些当前的GSLB项目这里 --其中一些项目是开源的:

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1065304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档