【问题标题】:What is the difference between LoadBalancer service and ingress in kubernetes?Kubernetes 中的 LoadBalancer 服务和入口有什么区别?
【发布时间】:2021-10-14 12:38:00
【问题描述】:

我知道 kubernetes 服务,因为 LoadBalancer 服务是 NodePort 和 ClusterIP 的扩展,它已经是 Pod 的负载平衡器层。当我们使用 NodePort 或 CluserIP 和 ingress 时,我们已经能够使用 Service 中的负载均衡器(内部)通过域访问应用程序。那么为什么我们还有另一个选择是 LoadBalancer 服务(外部云提供商)?

【问题讨论】:

标签: kubernetes


【解决方案1】:

在支持外部负载均衡器的云提供商上,将 type 字段设置为 LoadBalancer 会为您的服务提供负载均衡器。负载均衡器的实际创建是异步进行的,有关已配置均衡器的信息发布在 Service 的 .status.loadBalancer 字段中。

来自外部负载平衡器的流量被定向到后端 Pod。云提供商决定如何进行负载平衡。

一些云提供商允许您指定 loadBalancerIP。在这些情况下,负载均衡器是使用用户指定的 loadBalancerIP 创建的。如果未指定 loadBalancerIP 字段,则使用临时 IP 地址设置 loadBalancer。如果您指定了 loadBalancerIP,但您的云提供商不支持该功能,则您设置的 loadbalancerIP 字段将被忽略。

Igress 是一个不同的概念,您将有一组路径规则将流量路由到特定后端。

【讨论】:

  • 我们可以补充一点,当您的集群未与云 API 集成时,MetalLB 会实施 LoadBalancer 服务配置。并回答最初的问题:为什么?因为 Ingress 只会公开类似 http 的协议,而 LoadBalancer 可以公开任何 TCP 或 UDP 端点。
猜你喜欢
  • 2021-10-29
  • 1970-01-01
  • 1970-01-01
  • 2019-03-05
  • 1970-01-01
  • 2018-05-30
  • 2018-01-09
  • 2011-11-09
  • 1970-01-01
相关资源
最近更新 更多