IBM Cloud Docs
ネットワーク・ステータスが NHC004 エラーを表示するのはなぜですか?

ネットワーク・ステータスが NHC004 エラーを表示するのはなぜですか?

Virtual Private Cloud

ibmcloud oc cluster health issues --cluster <CLUSTER_ID> を実行してクラスタの健全性のステータスを確認すると、次の例のようなエラーが表示されます。

ID       Component   Severity   Description
NHC004   Network     Warning    Some worker nodes in the cluster can not resolve VPE gateway hostnames.

この警告は、仮想プライベートエンドポイント(VPE)に関連付けられたホスト名のDNS解決に失敗していることを示します。 これは、 IBM Cloud サービスへのプライベート接続に依存しているサービスに影響を与える可能性がある。

ワーカーノードに正しいDNSリゾルバが設定され、VPEゲートウェイのホスト名を解決できることを確認してください。 以下の手順は、DNS解決の問題が到達不能なVPEエンドポイントによるものなのか、誤った設定によるものなのかを確認するのに役立ちます。

VPCクラスタのVPEゲートウェイを見つける方法

IBM Cloud Kubernetes Service クラスタで使用する VPE ゲートウェイを特定するには、以下の手順に従います:

1. IBM Cloud CLI を使用して、エンドポイント・ゲートウェイを一覧表示します

  1. 以下のコマンドを実行して、VPC内のすべてのVPE(エンドポイント)ゲートウェイをリストアップします。

    ibmcloud is endpoint-gateways
    

    特定のVPCのVPEをリストアップするコマンド例。

    ibmcloud is endpoint-gateways --vpc <VPC-ID>
    
  2. iks-cluster_ID の出力をフィルタリングし、 Service Endpoints を探す。 関連するサービス、IPアドレス、エンドポイント名が表示される。

2. IBM Cloud コンソールを使用して、エンドポイント・ゲートウェイを一覧表示する

  1. VPC Infrastructure > Endpoint Gateways に移動します
  2. VPCを選択
  3. プライベート・サービス・アクセス用に設定されたゲートウェイを確認し、DNS/IP情報を表示する

3.VPEゲートウェイのホスト名を見つけたら、以下の手順を実行する。

  1. ワーカー・ノード上で動作しているポッドから、デバッグ・シェルを起動します:

    kubectl run -i --tty debug --image=us.icr.io/armada-master/network-alpine:latest --restart=Never -- sh
    
  2. ポッド内部で、VPEゲートウェイのホスト名を解決してみてください。

    nslookup <vpe-hostname>
    
    dig <vpe-hostname>
    
  3. VPC DNSサービスを使用して、DNS解決を直接テストします。

    dig <vpe-hostname> @161.26.0.7
    
    dig <vpe-hostname> @161.26.0.8
    
  4. クラスタがカスタムDNS設定(変更された CoreDNS 設定など)を使用している場合は、設定を検査します。

    kubectl get configmap coredns -n kube-system -o yaml
    
  5. 必要であれば、 CoreDNS の設定を更新し、VPE 解決 DNS サーバーが含まれていることを確認してから、 CoreDNS をリロードする。

    kubectl rollout restart deployment coredns -n kube-system
    
  6. VPCのDNS設定がVPEのホスト名へのアクセスを許可していることを確認してください。 IBM Cloud コンソールで、 VPC > DNS サービスに移動し、DNS ルールを検証します。

  • IBM Cloud Kubernetes Service における仮想プライベート・エンドポイント(VPE)ゲートウェイの詳細については、 仮想プライベート・エンドポイント(VPE)ゲートウェイを参照のこと。

  • 修正後、数分待ってからクラスタの健全性ステータスを再確認します。

  • それでも問題が解決しない場合は、サポートにお問い合わせください。 サポート Case を開きます。 ケースの詳細には、関連するログファイル、エラーメッセージ、コマンド出力を必ず含めてください。