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

时间:2020-02-02 22:53:25

标签: kubernetes openshift traefik kubernetes-ingress f5

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

假设我有一个带有多个节点的Kubernetes集群。 如何避免出现单点故障?

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

如果是,是否表示:

  1. 负载均衡器会将流量发送到k8s集群的一个节点
  2. Traefik将请求发送到端点/荚之一。这个Pod可能位于其他k8s节点中?

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

我还想知道F5 cluster mode feature是否可以避免这种间接访问?

编辑:与F5 Ingress resource

一起使用时

1 个答案:

答案 0 :(得分:3)

您可以为traefik Pod安装一个负载平衡器(来自F5的BIG IP或软件负载平衡器)。当客户端请求进入时,它将由负载均衡器发送到traefik容器之一。一旦请求进入traefik容器,traefik就会通过从kubernetes端点API获取这些容器的IP,根据入口规则将请求发送到kubernetes工作负载容器的IP。您可以在traefik中为您的工作负载容器配置L7负载平衡。

使用诸如nginx之类的软件反向代理并通过负载均衡器公开它,会导致从负载均衡器到nginx入口容器的额外网络跳。

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