Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx Traefik实例负载平衡到Kubernetes节点端口服务_Nginx_Kubernetes_Traefik_Traefik Ingress - Fatal编程技术网

Nginx Traefik实例负载平衡到Kubernetes节点端口服务

Nginx Traefik实例负载平衡到Kubernetes节点端口服务,nginx,kubernetes,traefik,traefik-ingress,Nginx,Kubernetes,Traefik,Traefik Ingress,简介: 在AWS上,负载均衡器非常昂贵(20美元/月+使用量),因此我正在寻找一种方法来实现k8s节点之间的灵活负载平衡,而无需支付该费用。负载没有那么大,所以我不需要AWS负载平衡器的可伸缩性。我只需要服务就行了。我可以以每月3.5美元的价格获得一个小型EC2实例,它可以轻松处理当前的流量,所以我现在正在寻找这个选项 当前设置 目前,我已经设置了一个常规的独立Nginx实例(在k8s之外),它在集群中的节点之间进行负载平衡,所有服务都设置为通过节点报告公开。这工作得非常好,但每当我的集群拓扑在

简介:

在AWS上,负载均衡器非常昂贵(20美元/月+使用量),因此我正在寻找一种方法来实现k8s节点之间的灵活负载平衡,而无需支付该费用。负载没有那么大,所以我不需要AWS负载平衡器的可伸缩性。我只需要服务就行了。我可以以每月3.5美元的价格获得一个小型EC2实例,它可以轻松处理当前的流量,所以我现在正在寻找这个选项

当前设置

目前,我已经设置了一个常规的独立Nginx实例(在k8s之外),它在集群中的节点之间进行负载平衡,所有服务都设置为通过节点报告公开。这工作得非常好,但每当我的集群拓扑在重启、添加、重启或删除节点期间发生变化时,我都必须手动更新Nginx实例上的上游配置,这远远不是最佳配置,因为集群节点不可能永远存在

所以问题是:

Trækfik是否可以在Kubernetes之外进行设置,以便在Kubernetes节点之间进行简单的负载平衡,就像我的Nginx设置一样,但保持traefik配置的上游/后端服务器与Kubernetes节点列表同步,以便在我更改节点设置时,我的Kubernetes服务仍然是HA?我真正需要的是Træfik倾听kubernetesapi,并在集群发生变化时更改后端服务器

听起来很简单,对吗?;-)


当查看Træfik文档时,它似乎希望入口资源将其流量发送到,入口资源需要入口控制器,我想,这需要负载平衡器才能访问?这不是违背了目的,还是我遗漏了什么?

这里有一些东西对您的情况很有用,但我注意到,如果项目仍在开发中,配置可能很困难,因为您需要允许外部入口访问内部k8s网络

也许你可以试着在AWS级别上这样做?您可以在Nginx EC2实例上添加cron作业,在该实例中,您可以使用CLI查询标记为“k8s”的所有EC2实例的AWS,并在Nginx配置中进行更新