最近、一部の本番インフラストラクチャをKubernetesに移動しました。LoadBalancer
AWSのサービスを通じて多くのポッドが公開されています。これにより、ELBが作成され、クラスター内の各ノードがELBに登録され、ELBポートをポッドにマップするようにノードポートが構成されます。私たちのアプリケーションはロードバランサー経由で接続できますが、BackendConnectionErrors
(cloudwatchによって報告された)量はリクエスト数の5-7倍です。これをデバッグする方法がわかりません。
報告されたバックエンド接続エラーの数は、アプリケーションレイヤーのエラーメトリックと相関していません。これにより、ある種のインフラストラクチャの問題がおそらく再試行によって増幅されていると結論づけることができます。ただし、この問題のデバッグ方法がわかりません。
私の仮説はこれらの1つまたは両方です。
- 接続管理のためにELBに欠けているいくつかの奇妙なAWS設定
- クラスター内のノードには、sysctl設定またはELB経由の接続の量をブロックするその他のネットワーク構成があります
- いくつかの中間的なネットワークインフラストラクチャが接続を乱しています。
私の質問は、クラスター内のインスタンスのTCP /ネットワーク関連のメトリックをデバッグ/トレースするにはどうすればよいですか?
問題のCloudWatchメトリックスに関する詳細情報。
すべてのノードが稼働中であることを確認しますか?ELBがk8sレベルで失敗した場合、これを認識できず、要求を送信します...
—
Tensibai