介绍:
在 AWS 上,负载均衡器很昂贵(每月 20 美元 + 使用),所以我正在寻找一种方法来实现 k8s 节点之间的灵活负载均衡,而无需支付这笔费用。负载并没有那么大,所以我很快就不需要 AWS 负载均衡器的可扩展性。我只需要服务即可。我可以以每月 3.5 美元的价格获得一个可以轻松处理当前流量的小型 EC2 实例,所以我现在正在寻找这个选项。
当前设置
目前,我已经设置了一个常规的独立 Nginx 实例(在 k8s 之外),它在集群中的节点之间进行负载平衡,所有服务都设置为通过 NodePorts 公开。这非常有效,但是每当我的集群拓扑在重启、添加、重启或删除节点期间发生变化时,我必须手动更新 Nginx 实例上的上游配置,这远非最佳,因为不能期望集群节点留在周围永远。
所以问题是:
是否可以在 Kubernetes 之外设置 Trækfik 以在 Kubernetes 节点之间进行简单的负载平衡,就像我的 Nginx 设置一样,但保持 traefik 配置的上游/后端服务器与 Kubernetes 节点列表同步,这样我的 Kubernetes 服务是当我更改节点设置时仍然 HA?我真正需要的只是让 Træfik 监听 Kubernetes API 并在集群发生变化时更改后端服务器。
听起来很简单,对吧?;-)
在查看 Træfik 文档时,它似乎想要一个入口资源将其流量发送到,而一个入口资源需要一个入口控制器,我猜这需要一个负载均衡器才能访问?这不会破坏目的,还是我缺少什么?