Kubernetes Service LoadBalancerサービスからのBackendConnectionErrorsのデバッグ


8

最近、一部の本番インフラストラクチャをKubernetesに移動しました。LoadBalancerAWSのサービスを通じて多くのポッドが公開されています。これにより、ELBが作成され、クラスター内の各ノードがELBに登録され、ELBポートをポッドにマップするようにノードポートが構成されます。私たちのアプリケーションはロードバランサー経由で接続できますが、BackendConnectionErrors(cloudwatchによって報告された)量はリクエスト数の5-7倍です。これをデバッグする方法がわかりません。

報告されたバックエンド接続エラーの数は、アプリケーションレイヤーのエラーメトリックと相関していません。これにより、ある種のインフラストラクチャの問題がおそらく再試行によって増幅されていると結論づけることができます。ただし、この問題のデバッグ方法がわかりません。

私の仮説はこれらの1つまたは両方です。

  • 接続管理のためにELBに欠けているいくつかの奇妙なAWS設定
  • クラスター内のノードには、sysctl設定またはELB経由の接続のをブロックするその他のネットワーク構成があります
  • いくつかの中間的なネットワークインフラストラクチャが接続を乱しています。

私の質問は、クラスター内のインスタンスのTCP /ネットワーク関連のメトリックをデバッグ/トレースするにはどうすればよいですか?

問題のCloudWatchメトリックスに関する詳細情報。


すべてのノードが稼働中であることを確認しますか?ELBがk8sレベルで失敗した場合、これを認識できず、要求を送信します...
Tensibai

回答:


5

この問題に対する私の解決策は、サービスを作り直すことでした。私の質問のセットアップでは、Service10個以下のポートを持つK8が1つありました。あたり1つのポートを使用するように設定を変更しましたService。問題はなくなりました。理由は分からないけど。これにより、ノード自体に問題があるか、正しいノードポートに接続をルーティングする際に複雑さが疑われます。このため、再び多くのポートを公開することに注意します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.