トラフィックを2つのバックエンドに転送するように構成されたGCE http(s)ロードバランサーを使用しています。-デフォルトのバックエンド-個別のホスト/パスルールを持つ2番目のバックエンド(<Host>:/*
)
両方のバックエンドが同じインスタンスグループ(異なるNodePortを公開する2つのkubernetesサービスを実行するコンテナークラスター)に存在します。
インスタンスグループには、2つの名前付きポートがあり、それぞれが公開されたNodePortに対応しています。
両方のバックエンドが正常であると報告しているにもかかわらず、2番目のバックエンドへのすべてのリクエストは502を返します。
サービス自体は問題ではありません-2番目のバックエンドの背後にあるサービスをデフォルトに切り替えると、正常に動作します。
[〜#〜] note [〜#〜]:この説明は、最初に投稿されてから大幅に更新/簡略化しました。これは、より単純な構成で問題を再現できるためです。
ロードバランサーからインスタンスへのトラフィックは、デフォルトでは有効になっていません。残念ながら、これは十分に文書化されていません。実際、ロードバランサーを作成すると、これは自動的に行われるはずです。
ロードバランサーとVMが存在するネットワークにこのファイアウォールルールを追加してみてください。
130.211.0.0/22 tcp:1-5000 Apply to all targets