ネットワーク・ステータスが NHC007
エラーを表示するのはなぜですか?
Virtual Private Cloud
ibmcloud ks cluster health issues --cluster <CLUSTER_ID>
を実行してクラスタの健全性のステータスを確認すると、次の例のようなエラーが表示されます。
ID Component Severity Description
NHC007 Network Warning One or more DNS resolvers are not reachable from certain worker nodes.
問題の詳細を確認すると、どのワーカーノードからどの DNSリゾルバにアクセスできないかがわかります。
ibmcloud ks cluster health issue get --cluster <CLUSTER_ID> --issue NHC007
この警告は、特定のワーカーノードからのDNSトラフィックがブロックされていることを示しています。おそらく、制限的なポリシーか IaaS-level の設定が原因でしょう。
Calico HostEndpoint (HEP)および GlobalNetworkPolicy (GNP)リソース、ならびにACL、セキュリティグループ、およびアウトバウンドDNSトラフィックをブロックする可能性のあるその他のネットワークアプライアンスを確認してください。
-
Calico HostEndpoint (HEP) リソースをレビューして、 Calico HEP をリストアップし、HEP 設定がワーカーノードインタフェースに制限を誤って適用していないか確認します。
kubectl get hostendpoints.crd.projectcalico.org
特定のHEPを説明するためのコマンド例。
kubectl describe hostendpoints.crd.projectcalico.org <hep-name>
-
Calico GlobalNetworkPolicies (GNP)を見直し、GNPをリストアップする。
kubectl get globalnetworkpolicies.crd.projectcalico.org
-
制限的なDNSルールに関する特定のポリシーを検査する。 ポート53に影響する、またはノードラベル/セレクタに適用される
egress
ルールに焦点を当てる。kubectl get globalnetworkpolicies.crd.projectcalico.org <policy-name> -o yaml
-
デバッグポッドから DNS アクセスをテストするには、一時的なデバッグポッドを実行し、影響を受けるワーカーノード名を
nodeName
に使用します。 ここでDNSが失敗する場合、インフラレベルのブロックが原因かもしれない。kubectl run -i --tty debug \ --image=us.icr.io/armada-master/network-alpine:latest \ --restart=Never \ --overrides=' { "apiVersion": "v1", "spec": { "nodeName": "<node-name>" } }' -- sh
-
デバッグポッド内で以下のコマンドを実行する。
nslookup ibm.com
dig ibm.com
-
ACL(アクセス制御リスト)をチェックする。
-
コンソールで、 VPC > アクセス制御リストに移動し、 アウトバウンドルールが UDPポート53とTCPポート53の両方を許可していることを確認します。
-
CLIでは、以下のコマンドを実行してACLを検査する。
ibmcloud is network-acls
ibmcloud is network-acl <acl-id>
-
-
セキュリティグループルールを検査して、ワーカーノードに関連付けられているセキュリティグループを見つけ、セキュリティグループ設定をチェックするために実行します。 DNSトラフィック(UDP/TCPポート53)をブロックするアウトバウンドルールがないことを確認する。
ibmcloud is security-group-rules <security-group-id>
-
インフラ(ネットワーク・アプライアンス、ACLなど)を見直し、 UDPおよびTCPポート53のアウトバウンド・トラフィックを許可する
-
これらの項目を確認してもDNSに到達できない場合は、サポートに連絡してください。 サポート Case を開きます。 ケースの詳細には、関連するログファイル、エラーメッセージ、コマンド出力を必ず含めてください。