裸机kubernetes服务之间外部负载平衡的最佳实践

裸机kubernetes服务之间外部负载平衡的最佳实践,kubernetes,Kubernetes,背景 我们有一个裸金属kubernetes集群,包括master01、master02、master03、worker01、…、worker10。我们希望使用我们的域名company.com访问集群中的服务。可以将公共ip分配给带宽在1Mbps到100Mbps之间的每个节点(价格呈指数增长)。由于集群不像GCE/AWS那样位于公共云中,因此不存在外部负载平衡器 问题 一周来,我一直在努力寻找从互联网上使用company.com访问集群服务的最佳实践。这里的最佳实践是指在公共带宽开销最小的情况下在

背景

我们有一个裸金属kubernetes集群,包括master01、master02、master03、worker01、…、worker10。我们希望使用我们的域名company.com访问集群中的服务。可以将公共ip分配给带宽在1Mbps到100Mbps之间的每个节点(价格呈指数增长)。由于集群不像GCE/AWS那样位于公共云中,因此不存在外部负载平衡器

问题

一周来,我一直在努力寻找从互联网上使用company.com访问集群服务的最佳实践。这里的最佳实践是指在公共带宽开销最小的情况下在多个节点之间实现负载平衡。以下是我想出的方法:

1) 将1Mbps分配给cluseter中的所有节点,并购买另一台名为balancer的机器。为其分配100Mbps带宽,并使域company.com指向它。在平衡器中部署一个nginx服务,该服务代理从互联网到worker01、…、worker10的所有流量

2) 将1Mbps分配给群集中的所有节点,但其中一个节点除外,如worker01,该节点的带宽为100Mbps。指向company.com

3) 将10Mbps分配给所有工作节点,并将company.com分配给所有工作节点。并让DNS做负载平衡工作

4) 也许用。这似乎是一个很好的解决办法。但是我很困惑。由于它部署在kubernetes内部,在我的情况下,它与入口有什么不同?而且,据我所知,它不支持子域负载平衡,即为每个服务(如入口)分配子域名称

你认为哪一个是最好的解决方案?也许还有其他方法

仅供参考,我们已在集群中部署入口。所以所有的服务都是通过它来访问的

先谢谢你