据我了解,
Metallb 是一个负载均衡器,它为服务分配 IP 地址,该服务可以暴露给外界。
Nginx Ingress 和普通的 Nginx 一样,但它驻留在 kubernetes 中,并提供到不同路由的路由。
我的问题是,如果我有 Nginx Ingress,为什么还需要 Metallb?因为 nginx 入口会将端口 80/443 公开给公共,我可以使用它来路由到我需要的服务。
谢谢你。
您将需要两者,因为它们解决不同的问题:
MetalLB 接收来自集群外部的请求,并在集群中的负载均衡器之间平衡它们
Nginx 接收来自集群外部的请求并在节点之间平衡它们。
有关详细信息,请参阅https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#a-pure-software-solution-metallb。
如果没有 MetalLB,裸机中的 nginx 入口服务将保持pending状态,因为它没有分配给它的 IP。MetalLB 负责为 nginx 分配外部 IP。
如果没有 Nginx,您将不得不在每个客户端上执行 TLS 终止,这通常是不可取的。
另一种看待它的方式:
IngressLoadBalancer混淆可能源于这样一个事实,虽然上述操作根本不同,但它们通常由“负载均衡器”完成。
请注意,这同样适用于云:您需要部署一个入口来处理 TLS 终止和其他问题,并且提供商会在其基础架构上自动创建一个负载均衡器。
| 归档时间: |
|
| 查看次数: |
2985 次 |
| 最近记录: |