Ingress の状況に ERRAHCF
エラーが表示されるのはなぜですか?
仮想プライベート・クラウド クラシック・インフラストラクチャー
ibmcloud ks ingress status-report ignored-errors add
コマンドを使用して、無視されたエラーのリストにエラーを追加することができます。 無視されたエラーは、 ibmcloud ks ingress status-report get
コマンドの出力には引き続き表示されますが、Ingress 全体の状況を計算する際には無視されます。
ibmcloud ks ingress status-report get
コマンドを実行してクラスターの Ingress コンポーネントの状況を確認すると、以下の例のようなエラーが表示されます。
The ALB is unable to respond to health requests (ERRAHCF).
IBM Cloud Kubernetes Service は、ALB が HTTPS 要求に応答できるかどうかを検査するアプリケーションをクラスターにデプロイします。 アプリケーションは、クラスター上の 1 つ以上の ALB からの応答の取得に関する問題を報告します。
アクセス制御リストを調べて、ヘルス・トラフィックが許可されていることを確認してください。
-
以下のコマンドを使用して、クラスター ALB をリストします。
ibmcloud ks ingress alb ls
-
ロードバランサのアドレスをメモしておいてください。
- VPC クラスター:「
Load Balancer Hostname
」列のアドレスをメモします。 - クラシック・クラスター:
ALB IP
列のアドレスをメモします。
- VPC クラスター:「
-
以下のコマンドを実行してクラスタの詳細を取得する。 Ingress サブドメインをメモします。
ibmcloud ks cluster get
-
以下のコマンドを実行して、ALB がヘルス要求に応答することを確認します。 先ほど取得したロード・バランサーのアドレスと Ingress サブドメインを入力します。
curl -k https://LOAD-BALANCER-ADDRESS -H "Host: albhealth.INGRESS-SUBDOMAIN"
-
ヘルス・チェッカー・アプリケーションと ALB の間の通信をブロックしているファイアウォール・ルールまたはアクセス制御リストがないことを確認します。
- VPC クラスター:
- ヘルス・チェック・トラフィックは、クラスターのいずれかのワーカー・ノードから発信されます。 パブリック ALB の場合、トラフィックは VPC ロード・バランサー・インスタンスのパブリック浮動 IP アドレスに送信されるため、すべてのワーカー・サブネットに Public Gateway を接続する必要があります。 プライベート ALB の場合、トラフィックは VPC ロード・バランサーの VPC サブネット IP アドレスに送信されるため、 Public Gateway は必要ありません。
- VPC ロード・バランサーがクラスターのワーカー・ノード以外のサブネットに配置されている場合は、VPC ロード・バランサー・サブネットに接続されているセキュリティー・グループを更新して、ワーカー・サブネットからの着信トラフィックを許可する必要があります。
- 詳しくは、VPC セキュリティー・グループによるトラフィックの制御を参照してください。
- クラシック・クラスター:
- アカウントで Virtual Router Forwarding(VRF) が有効になっていることを確認します。 ヘルス・チェック・トラフィックはクラスターを離れませんが、1 つのノードから別のノードに送信される可能性があります。 ネットワーク・ポリシーがこのトラフィックをブロックしていないことを確認してください。
- 詳しくは、 クラシック・クラスターでのネットワーク・ポリシーを使用したトラフィックの制御 を参照してください。
- VPC クラスター:
-
10 分から 15 分待って、問題が解決されたかどうかを確認します。
-
問題が解決しない場合は、サポートにお問い合わせください。 サポート Case を開きます。 ケースの詳細には、関連するログ・ファイル、エラー・メッセージ、またはコマンド出力を必ず含めてください。
ALB ヘルス・チェックを使用しない場合は、 ibmcloud ks ingress alb health-checker disable
コマンド を実行して、ヘルス・チェッカー・アプリケーションを削除できます。