このトピックでは、サイドカーインジェクション後にヘルスチェックが失敗または無効になる問題の説明、原因、および解決策について説明します。
問題の説明
サイドカーインジェクション後にヘルスチェックが失敗または無効になります。 このトピックでは、TCP ヘルスチェックポート 8087 を例として使用します。 mTLS が有効になっていると、コンテナサービスコンソールのポッド詳細ページの [イベント] タブに、ポート 8087 のヘルスチェック情報は表示されません。
原因
Service Meshで mTLS が有効になっていると、kubelet からポッドに送信されたヘルスチェックリクエストはサイドカーによってインターセプトされます。 kubelet に対応する TLS 証明書がないため、ヘルスチェックは失敗します。
解決策
次の手順を実行して、ポートヘルスチェックトラフィックがサイドカープロキシをバイパスするように構成します。
サイドカープロキシをバイパスするようにポートヘルスチェックトラフィックを構成する
ASM コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、構成する ASM インスタンスを見つけます。 ASM インスタンスの名前をクリックするか、[アクション] 列の [管理] をクリックします。
ASM インスタンスの詳細ページで、左側のナビゲーションウィンドウの を選択します。
[名前空間] タブで、対応する名前空間を選択し、[ポートまたはアドレス別にサイドカープロキシを有効/無効にする] タブをクリックして、パラメーターを構成します。
次の表にパラメーターを示します。
パラメーター
説明
インバウンドトラフィックがサイドカープロキシにリダイレクトされないポート
インバウンドトラフィックがサイドカープロキシをバイパスするポートを構成します。 このトピックでは、ポートは 8087 に設定されています。
アウトバウンドトラフィックがサイドカープロキシにリダイレクトされないポート
アウトバウンドトラフィックがサイドカープロキシをバイパスするポートを構成します。 このトピックでは、ポートは 8087 に設定されています。
構成が完了したら、[設定の更新] をクリックします。
ヘルスチェック結果を表示する
ACK コンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、クラスターの名前をクリックするか、[アクション] 列の [詳細] をクリックします。 クラスターの詳細ページが表示されます。
詳細ページの左側のナビゲーションウィンドウで、 を選択します。
ターゲットポッドの名前をクリックするか、右側の [詳細] をクリックして、ポッド詳細ページに移動します。
ポッド詳細ページで、[イベント] タブをクリックします。 ポート 8087 のヘルスチェックが有効かどうかを確認します。