ネットワーク・ステータスが 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 を使用して、エンドポイント・ゲートウェイを一覧表示します
-
以下のコマンドを実行して、VPC内のすべてのVPE(エンドポイント)ゲートウェイをリストアップします。
ibmcloud is endpoint-gateways
特定のVPCのVPEをリストアップするコマンド例。
ibmcloud is endpoint-gateways --vpc <VPC-ID>
-
iks-cluster_ID
の出力をフィルタリングし、Service Endpoints
を探す。 関連するサービス、IPアドレス、エンドポイント名が表示される。
2. IBM Cloud コンソールを使用して、エンドポイント・ゲートウェイを一覧表示する
- VPC Infrastructure > Endpoint Gateways に移動します
- VPCを選択
- プライベート・サービス・アクセス用に設定されたゲートウェイを確認し、DNS/IP情報を表示する
3.VPEゲートウェイのホスト名を見つけたら、以下の手順を実行する。
-
ワーカー・ノード上で動作しているポッドから、デバッグ・シェルを起動します:
kubectl run -i --tty debug --image=us.icr.io/armada-master/network-alpine:latest --restart=Never -- sh
-
ポッド内部で、VPEゲートウェイのホスト名を解決してみてください。
nslookup <vpe-hostname>
dig <vpe-hostname>
-
VPC DNSサービスを使用して、DNS解決を直接テストします。
dig <vpe-hostname> @161.26.0.7
dig <vpe-hostname> @161.26.0.8
-
クラスタがカスタムDNS設定(変更された CoreDNS 設定など)を使用している場合は、設定を検査します。
kubectl get configmap coredns -n kube-system -o yaml
-
必要であれば、 CoreDNS の設定を更新し、VPE 解決 DNS サーバーが含まれていることを確認してから、 CoreDNS をリロードする。
kubectl rollout restart deployment coredns -n kube-system
-
VPCのDNS設定がVPEのホスト名へのアクセスを許可していることを確認してください。 IBM Cloud コンソールで、 VPC > DNS サービスに移動し、DNS ルールを検証します。
-
IBM Cloud Kubernetes Service における仮想プライベート・エンドポイント(VPE)ゲートウェイの詳細については、 仮想プライベート・エンドポイント(VPE)ゲートウェイを参照のこと。
-
修正後、数分待ってからクラスタの健全性ステータスを再確認します。
-
それでも問題が解決しない場合は、サポートにお問い合わせください。 サポート Case を開きます。 ケースの詳細には、関連するログファイル、エラーメッセージ、コマンド出力を必ず含めてください。