IBM Cloud Docs
Pourquoi l'état du réseau indique-t-il une erreur NHC004 ?

Pourquoi l'état du réseau indique-t-il une erreur NHC004 ?

Virtual Private Cloud

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

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

Cet avertissement indique que la résolution DNS échoue pour les noms d'hôtes associés aux points d'extrémité privés virtuels (VPE). Cela peut affecter les services qui dépendent de la connectivité privée vers les services IBM Cloud.

Assurez-vous que les résolveurs DNS de vos nœuds de travail sont correctement configurés et qu'ils peuvent résoudre les noms d'hôte de la passerelle VPE. Les étapes suivantes vous aident à confirmer si le problème de résolution DNS est dû à des points d'extrémité VPE inaccessibles ou à une configuration incorrecte.

Comment trouver les passerelles VPE pour un cluster VPC?

Pour identifier les passerelles VPE utilisées par votre cluster IBM Cloud Kubernetes Service, procédez comme suit :

1. Utilisez l'interface CLI de IBM Cloud pour répertorier les passerelles des points d'extrémité

  1. Exécutez la commande suivante pour dresser la liste de toutes les passerelles VPE (endpoint) de votre VPC.

    ibmcloud is endpoint-gateways
    

    Exemple de commande pour lister les VPE pour un VPC spécifique.

    ibmcloud is endpoint-gateways --vpc <VPC-ID>
    
  2. Filtrez la sortie pour iks-cluster_ID et recherchez Service Endpoints. Il indique les services associés, les adresses IP et les noms des points d'extrémité.

2. Utilisez la console IBM Cloud pour dresser la liste des passerelles des points d'extrémité

  1. Naviguer vers Infrastructure VPC > Passerelles Endpoint
  2. Sélectionnez votre VPC
  3. Examiner les passerelles configurées pour l'accès aux services privés et consulter les informations DNS/IP

3. Après avoir trouvé le nom d'hôte de la passerelle VPE, effectuez les étapes suivantes.

  1. À partir d'un pod fonctionnant sur un nœud de travail, lancez un shell de débogage :

    kubectl run -i --tty debug --image=us.icr.io/armada-master/network-alpine:latest --restart=Never -- sh
    
  2. À l'intérieur du pod, essayez de résoudre un nom d'hôte de passerelle VPE.

    nslookup <vpe-hostname>
    
    dig <vpe-hostname>
    
  3. Testez la résolution DNS directement à l'aide d'un service DNS VPC.

    dig <vpe-hostname> @161.26.0.7
    
    dig <vpe-hostname> @161.26.0.8
    
  4. Si votre cluster utilise des configurations DNS personnalisées (par exemple, des paramètres CoreDNS modifiés), inspectez la configuration.

    kubectl get configmap coredns -n kube-system -o yaml
    
  5. Si nécessaire, mettez à jour la configuration de CoreDNS pour vous assurer que les serveurs DNS résolvant les VPE sont inclus, puis rechargez CoreDNS.

    kubectl rollout restart deployment coredns -n kube-system
    
  6. Assurez-vous que les paramètres DNS de votre VPC autorisent l'accès aux noms d'hôtes des VPE. Dans la console IBM Cloud, naviguez vers VPC > DNS services et validez les règles DNS.

  • Pour en savoir plus sur les passerelles de points d'accès privés virtuels (VPE) dans IBM Cloud Kubernetes Service, voir Passerelles de points d'accès privés virtuels(VPE).

  • Après les corrections, attendez quelques minutes et vérifiez à nouveau l'état de santé de la grappe.

  • 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.