Pourquoi l'état du réseau affiche-t-il une erreur NHC006 ?

Infrastructure classique

Dépannage de l'erreur NHC006 lors du contrôle de l'état du réseau.

Lorsque vous vérifiez l'état de santé de votre cluster en exécutant la commande ibmcloud oc cluster health issues --cluster <CLUSTER_ID>, vous obtenez une erreur similaire à l'exemple suivant.

ID       Component   Severity   Description
NHC006   Network     Warning    One or more DNS resolvers are not reachable from certain worker nodes.

Si vous vérifiez les détails du problème, vous verrez quels résolveurs DNS ne sont pas accessibles à partir de quel nœud de travail.

ibmcloud ks cluster health issue get --cluster <CLUSTER_ID> --issue NHC006

Cet avertissement indique que certains nœuds de travail ne parviennent pas à atteindre un ou plusieurs résolveurs DNS. Cela peut entraîner des défaillances du DNS et avoir un impact sur la communication de la charge de travail.

  1. Inspecter Calico GlobalNetworkPolicies (GNP) en dressant la liste de tous les GNP.

    kubectl get globalnetworkpolicies.crd.projectcalico.org
    

    Exécutez la commande suivante pour consulter une politique spécifique.

    kubectl get globalnetworkpolicies.crd.projectcalico.org <policy-name> -o yaml
    
  2. Recherchez les règles egress qui bloquent le trafic DNS ( UDP / TCP port 53). Vérifiez également les champs selector qui pourraient inclure des nœuds de travail de manière inappropriée.

  3. Valider l'accessibilité DNS des nœuds de travail à l'aide d'un pod de débogage

    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. Exécutez les commandes suivantes dans le pod de débogage. En cas d'échec, le DNS peut être bloqué par des politiques ou des configurations IaaS-level.

    nslookup ibm.com
    
    dig ibm.com
    
  5. Examinez votre infrastructure (appareils réseau, listes de contrôle d'accès, etc.) et autorisez le trafic sortant de UDP et TCP port 53.

  6. Si le problème persiste, contactez le service d'assistance pour obtenir de l'aide. Ouverture d'un cas de support. Dans les détails de l'affaire, veillez à inclure tout fichier journal, message d'erreur ou résultat de commande pertinent.