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

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

クラシック・インフラストラクチャー

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

ID       Component   Severity   Description
NHC006   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 NHC006

この警告は、いくつかのワーカーノードが1つ以上のDNSリゾルバに到達できないことを示している。 これはDNSの障害につながり、ワークロードの通信に影響を与える可能性がある。

  1. すべてのGNPをリストアップして、 Calico GlobalNetworkPolicies (GNP)を検査する。

    kubectl get globalnetworkpolicies.crd.projectcalico.org
    

    特定のポリシーを確認するには、次のコマンドを実行します。

    kubectl get globalnetworkpolicies.crd.projectcalico.org <policy-name> -o yaml
    
  2. DNSトラフィック(UDP/TCPポート53)をブロックする egress ルールがないか確認する。 また、ワーカーノードを不適切に含む可能性のある、 selector フィールドもチェックしてください。

  3. デバッグポッドを使ってワーカーノードからの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
    
  4. デバッグポッド内で以下のコマンドを実行する。 これらに失敗した場合、ポリシーや IaaS-level の設定によってDNSがブロックされている可能性がある。

    nslookup ibm.com
    
    dig ibm.com
    
  5. インフラ(ネットワーク・アプライアンス、ACLなど)を見直し、 UDPおよびTCPポート53のアウトバウンド・トラフィックを許可する。

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