一千萬個為什麽

搜索

從Kubernetes服務LoadBalancer sesrvice調試BackendConnectionErrors



我們最近將部分生產基礎設施移至Kubernetes。許多Pod通過AWS上的 LoadBalancer 服務公開。這將創建ELB,使用ELB註冊群集中的每個節點,並配置節點端口以將ELB端口映射到pod。我們的應用程序可以通過負載均衡器連接,但 BackendConnectionErrors (由cloudwatch報告)的數量比請求數高5-7倍。我不知道如何調試。

報告的後端連接錯誤的數量與任何應用程序層錯誤指標都不相關。這讓我得出結論,某種基礎設施問題可能被重試放大。但是我不知道如何調試這個問題。

我的假設是其中一個或兩個:

  • 連接管理ELB上缺少一些奇怪的AWS設置
  • 群集中的節點具有一些sysctl設置或其他網絡配置,這些配置會阻止來自ELB的連接量
  • 一些網絡基礎設施的中間部分與連接有關。

我的問題是:我如何調試/跟蹤群集中實例的一些TCP /網絡相關指標?

有關有關 CloudWatch指標的更多信息。

轉載註明原文: 從Kubernetes服務LoadBalancer sesrvice調試BackendConnectionErrors

一共有 1 個回答:

我解決這個問題的辦法是重做我的服務。我的問題中的設置有一個K8s Service ,有〜10個端口。我重新設置了每個 Service 使用一個端口的設置。問題消失了。我不知道為什麽。這使我懷疑某些節點本身或將某些連接路由到正確節點端口的復雜性。由於這一點,我對再次暴露太多端口持謹慎態度。