当前位置: 首页 > 知识库问答 >
问题:

Traefik边缘路由器前的负载均衡

公冶弘壮
2023-03-14

查看OpenShift HA代理或Traefik项目:https://docs.traefik.io/.我可以看到Traefik入口控制器部署为DaemonSet。它可以使用虚拟主机将流量路由到正确的服务/endpoint。

假设我有一个包含几个节点的Kubernetes集群。我如何避免单点故障?

我应该在我的节点前面有一个负载平衡器(或DNS负载平衡)吗?

如果是,这是否意味着:

  1. 负载均衡器会将流量发送到 k8s 集群的一个节点
  2. Traefik 会将请求发送到其中一个endpoint/Pod。这个 pod 可以位于不同的 k8s 节点中的什么位置?

这是否意味着会有一定程度的间接性?

我还想知道 F5 群集模式功能是否可以避免这种间接性?

EDIT:与F5 Ingress资源一起使用时

共有1个答案

鲜于雨石
2023-03-14

您可以为traefik pods配备负载平衡器(F5的BIG IP或软件负载平衡器)。当客户端请求进来时,它将被负载均衡器发送到traefik pods之一。请求进入traefik pod后,traefik将根据入口规则,通过从kubernetesendpointAPI获取这些pod的IP,将请求发送到kubernetes工作负载pod的IP。您可以在traefik中为您的工作负荷单元html" target="_blank">配置L7负载平衡。

使用软件反向代理,如nginx,并通过负载均衡器公开它,会从负载均衡器向nginx入口pod引入额外的网络跃点。

查看F5文档BIG IP控制器也可以用作入口控制器,我认为使用它可以避免额外的跳跃。

 类似资料:
  • 问题内容: 我正在尝试将所有传入的Traefik从http重定向到https,用于Web应用程序,该应用程序从具有自定义端口的docker容器中获取。 如果我构建了这个docker compose文件,并扩展了应用程序,一切将按预期工作。我可以请求应用程序的http和https,但是我尝试实现仅提供https并将http重定向到https的目的。 由于我使用的是Docker-Compose文件,因

  • 我正在我的nodejs应用程序中创建restendpoint,如下所示: 在我的服务器上。我有以下代码: 我还尝试了下面的代码,而不是像在潜在重复问题上建议的那样使用express.json和expres.urlencoded。 在我的APIRoutes文件中,我有以下代码: 我尝试了不同的组合和订单来设置更高的限制。但是目前每次我发送2kb的有效载荷,我都会得到一个413“(有效载荷太大)”的错

  • 我们希望使用谷歌应用程序引擎为我们的一个低延迟服务。我们需要在全球范围内提供低延迟服务。由于Google App Engine是一个地区性服务,没有直接的方法将其部署到多个地区。因此,谷歌负载均衡器在DNS级别进行路由,但这似乎也不可能,因为负载均衡器不支持作为后端服务的App Engine。在App Engine服务的GCP中是否有其他方法实现GeoDNS路由。

  • 负载均衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载均衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载均衡服务通常是由专用软体和硬件来完成。 负载均衡最重要的一个应用是利用多台服务器提供单一服务,这种方案有

  • 负载均衡包括负载均衡实例、访问控制及证书。 实例 负载均衡实例是一个运行的负载均衡服务,通过设置的虚拟IP接收流量并将其转发分配给后端服务器。 访问控制 访问控制用于设置访问负载均衡的IP白名单或IP黑名单。 证书 当在负载均衡实例上配置HTTPS监听转发来自HTTPS协议的请求时,需要配置证书。

  • 一个简单的负载均衡的示例,把www.domain.com均衡到本机不同的端口,也可以改为均衡到不同的地址上。> http { : upstream myproject { : server 127.0.0.1:8000 weight=3; : server 127.0.0.1:8001; : server 127.0.0.1:8002; : server 127.0.0.1:8003; : }