VPC クラスター: アプリが Ingress 経由で接続できないのはなぜですか?

アプリがIngress経由でアクセスできない場合、VPCクラスターにおけるIngressの接続に関する問題をトラブルシューティングします。

仮想プライベートクラウド

VPC クラスターでアプリ用の Ingress リソースを作成して、アプリを公開しました。 Ingress サブドメインを使用してアプリに接続しようとしたところ、接続が失敗したか、タイムアウトになりました。

VPC クラスターを作成すると、VPC のクラスター外部にパブリック VPC ロード・バランサー 1 つとプライベート VPC ロード・バランサー 1 つが自動的に作成されます。

VPC ロード・バランサーは、ルーターで公開されているアプリに要求を転送します。 以下の状況では、要求をアプリにルーティングできません。

  • VPC セキュリティー・グループにより、アプリへの着信要求を含め、ワーカー・ノードへの着信トラフィックがブロックされている。
  • ロード・バランサーのプロビジョニング・エラーや VSI 接続エラーが原因で、VPC ロード・バランサーがオフラインになっている。
  • VPC ロード・バランサーが VPC コンソールまたは CLI で削除された。
  • VPC ロード・バランサーの DNS エントリーがまだ登録中である。

VPC セキュリティー・グループがクラスターへのトラフィックをブロックしていないこと、および VPC ロード・バランサーが使用可能であることを確認してください。

  1. infrastructure-service プラグインをインストールします。 コマンドを実行するための接頭部は、ibmcloud is です。

    ibmcloud plugin install infrastructure-service
    
  2. ルーターの VPC ロード・バランサーが存在することを確認します。 出力で、kube-crtmgr-<cluster_ID>で始まる VPC ロード・バランサーの名前を探します。 infrastructure-service プラグインをインストールしていない場合は、ibmcloud plugin install infrastructure-service を実行してインストールします。

    ibmcloud is load-balancers
    
    • VPC ロード・バランサーがリストされない場合は、VPC コンソールまたは CLI で削除されています。 IBM Cloud サポート Case を開き、クラスター ID を記入します。
  3. ロード・バランサーが存在する場合は、接続されている VPC セキュリティー・グループを表示しますkube-lbaas-<cluster-id> セキュリティー・グループに変更を加えていないことを確認します。この変更は、VPC ALB の作成時に自動的に適用されます。

    • kube-lbaas-<cluster-id> セキュリティー・グループを変更した場合は、元のルールをセキュリティー・グループに戻します。
    • kube-lbaas-<cluster-id> セキュリティー・グループを削除し、それを管理対象の 1 つ以上のセキュリティー・グループに置き換えた場合は、ALB へのインバウンド・トラフィックが、設定したセキュリティー・グループによって許可されていることを確認してください。 ALB が使用しているプロトコルのノード・ポート範囲 30,000 から 32,767 で、クラスター・ワーカーへのアウトバウンド・トラフィックが許可されていることを確認します。
    • VPC ロード・バランサーがリストされていて、それに接続されている kube-lbaas-<cluster-id> セキュリティー・グループを変更していない場合は、DNS エントリーがまだ登録中である可能性があります。 VPC ロード・バランサーが作成されると、ホスト名がパブリック DNS を介して登録されます。 場合によっては、クライアントが使用している特定の DNS にこの DNS エントリーが複製されるまでに数分かかることがあります。 ホスト名が DNS に登録されるまで待つか、VPC ロード・バランサーのいずれかの IP アドレスを使用して直接アクセスすることができます。 VPC ロード・バランサーの IP アドレスを確認するには、ibmcloud is lb <LB_ID> を実行し、パブリック IP フィールドを確認します。 数分経ってもロード・バランサーに到達できない場合は、プロビジョニングまたは接続の問題が原因でロード・バランサーがオフラインになっている可能性があります。 IBM Cloud サポート Case を開きます。 タイプには**「Technical」を選択します。 カテゴリーには VPC セクションの「Network」**を選択します。 説明にはクラスター ID と VPC ロード・バランサー ID を含めます。