簡體   English   中英

使用 MetalLB 和 ClusterIP 服務時是否會進行雙重負載平衡?

[英]Is it double load-balancing when using MetalLB and a ClusterIP service?

我使用 MetalLB 和 Nginx-ingress controller 來提供對我的應用程序的 inte.net 訪問。 我看到在大多數配置中,服務設置為 ClusterIP,因為入口將向那里發送流量。

我的問題是:這是否會導致雙負載平衡,即一個從 MetalLB 到我的入口,另一個從我的入口通過 ClusterIP 到 Pod?

如果是這樣,這是應該的方式,還是有更好的方法?

Metallb 不接收和轉發任何流量,因此

從 MetalLB 到我的入口

真的沒有意義。 Metallb 只是使用外部 ip 配置 kube.netes 服務,並告訴您周圍的基礎設施在哪里可以找到它。 仍然使用您的設置會有雙重負載平衡:

流量到達您的集群並在您的 nginx pod 之間進行負載平衡。 Nginx 處理請求並將其轉發給應用程序,這將導致第二次負載平衡。

但這完全有道理,因為如果您使用入口控制器,您不希望所有傳入流量都通過同一個 pod 到 go。

可以將入口控制器與 metallb 一起使用,並且可以在對您的應用程序執行更新時提高穩定性,但這不是必需的。

Metallb 是一種解決方案,用於在沒有雲提供商為您執行此操作時實現LoadBalancing類型的 kube.netes 服務。

因此,如果您不需要第 7 層負載平衡機制,您可以不使用帶有入口控制器的ClusterIP類型的服務,而只需使用類型為LoadBalancing的服務。 Metallb 將從您的池中為該服務提供外部 ip 並向其同行宣布。

在這種情況下,當流量到達集群時,它只會被負載均衡一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM