kubernetes 有自己的负载均衡器吗?

Does kubernetes have it's own Load Balancer?

Kubernetes 有自己的负载均衡器吗?

我在部署时阅读了有关 LoadBalancer 服务的信息,以便在集群外部公开它,但它使用了我的云提供商 Load Balancer。

Kubernetes 没有像 Nginx 那样拥有自己的负载均衡器吗?

我还阅读了外部和内部负载均衡器。他们在谈论云服务提供商负载均衡器吗?


请注意,如果您部署类型为 LoadBalancer 的 Kubernetes 服务,它会部署 L4 内部负载均衡器。它不提供您通过外部负载均衡器获得的所有功能。

如今,大多数外部负载均衡器在 http 标头和基于内容的路由等方面处理第 7 层。

您可以查看与外部负载平衡器同等的高级负载平衡器功能的入口控制器。但是你需要在它前面使用 HA

的外部负载均衡器


Ingress 是自 kubernetes 1.1 以来可用的解决方案,它允许入站连接到集群。

它是外部 LoadBalancers(即您的云服务提供商负载均衡器)和 nodePort 的替代品

Ingress 允许您轻松公开需要从集群外部访问的服务

使用 Ingress,您可以在 kubernetes 集群中运行自己的入口控制器(基本上是负载均衡器)。

有可用的默认入口控制器,或者您可以编写自己的入口控制器。


根据服务类型

LoadBalancer: Exposes the service externally using a cloud providera€?s load balancer. NodePort and ClusterIP services, to which the external load balancer will route, are automatically created.

所以如果你想要类似于 Nginx 代理路由的东西,你应该检查 Ingress 资源。它可以帮助你。

主要原则:你有一个LoadBalancer or NodePort云提供商提供的Ingress Controller服务和多个通过Ingress资源的路由规则。

关于网络和 Nginx 入口控制器的介绍

k8s 中的网络