Warum zeigt der Netzwerkstatus einen NHC004 Fehler an?
Virtual Private Cloud
Wenn Sie den Status Ihres Clusters überprüfen, indem Sie ibmcloud ks cluster health issues --cluster <CLUSTER_ID> ausführen, erhalten Sie eine Fehlermeldung wie im folgenden Beispiel.
ID Component Severity Description
NHC004 Network Warning Some worker nodes in the cluster can not resolve VPE gateway hostnames.
Diese Warnung zeigt an, dass die DNS-Auflösung für Hostnamen, die mit Virtual Private Endpoints (VPE) verbunden sind, fehlschlägt. Dies kann sich auf Dienste auswirken, die auf private Verbindungen zu IBM Cloud angewiesen sind.
Stellen Sie sicher, dass Ihre Arbeitsknoten über die richtigen DNS-Auflöser verfügen und die Hostnamen des VPE-Gateways auflösen können. Mit den folgenden Schritten können Sie feststellen, ob das DNS-Auflösungsproblem auf nicht erreichbare VPE-Endpunkte oder eine falsche Konfiguration zurückzuführen ist.
So finden Sie die VPE-Gateways für einen VPC-Cluster
Führen Sie die folgenden Schritte aus, um die von Ihrem IBM Cloud Kubernetes Service-Cluster verwendeten VPE-Gateways zu identifizieren:
1. Verwenden Sie die IBM Cloud CLI, um Endpunkt-Gateways aufzulisten
-
Führen Sie den folgenden Befehl aus, um alle VPE (Endpunkt)-Gateways in Ihrer VPC aufzulisten.
ibmcloud is endpoint-gatewaysBeispielbefehl zum Auflisten von VPEs für eine bestimmte VPC.
ibmcloud is endpoint-gateways --vpc <VPC-ID> -
Filtern Sie die Ausgabe nach
iks-cluster_IDund suchen Sie nachService Endpoints. Hier werden die zugehörigen Dienste, IP-Adressen und Endpunktnamen angezeigt.
2. Verwenden Sie die Konsole IBM Cloud, um Endpunkt-Gateways aufzulisten
- Navigieren Sie zu VPC-Infrastruktur > Endpunkt-Gateways
- Wählen Sie Ihren VPC
- Überprüfung der konfigurierten Gateways für den Zugang zu privaten Diensten und Anzeige von DNS/IP-Informationen
3. Nachdem Sie den Hostnamen des VPE-Gateways gefunden haben, führen Sie die folgenden Schritte aus.
-
Starten Sie von einem Pod, der auf einem Arbeitsknoten läuft, eine Debug-Shell:
kubectl run -i --tty debug --image=us.icr.io/armada-master/network-alpine:latest --restart=Never -- sh -
Versuchen Sie, innerhalb des Pods einen VPE-Gateway-Hostnamen aufzulösen.
nslookup <vpe-hostname>dig <vpe-hostname> -
Testen Sie die DNS-Auflösung direkt mit einem VPC DNS-Dienst.
dig <vpe-hostname> @161.26.0.7dig <vpe-hostname> @161.26.0.8 -
Wenn Ihr Cluster benutzerdefinierte DNS-Konfigurationen verwendet (z. B. geänderte CoreDNS-Einstellungen), überprüfen Sie die Konfiguration.
kubectl get configmap coredns -n kube-system -o yaml -
Aktualisieren Sie bei Bedarf die Konfiguration von CoreDNS, um sicherzustellen, dass VPE-auflösende DNS-Server enthalten sind, und laden Sie dann CoreDNS neu.
kubectl rollout restart deployment coredns -n kube-system -
Stellen Sie sicher, dass Ihre VPC-DNS-Einstellungen den Zugriff auf die VPE-Hostnamen zulassen. Navigieren Sie in der Konsole IBM Cloud zu VPC > DNS-Dienste und validieren Sie die DNS-Regeln.
-
Weitere Informationen zu Gateways für virtuelle private Endpunkte (VPE) in IBM Cloud Kubernetes Service finden Sie unter Gateways für virtuelle private Endpunkte(VPE).
-
Warten Sie nach den Korrekturen einige Minuten und überprüfen Sie erneut den Gesundheitsstatus des Clusters.
-
Wenn das Problem weiterhin besteht, wenden Sie sich bitte an den Support, um weitere Unterstützung zu erhalten. Öffnen Sie einen Supportfall. Fügen Sie den Falldetails unbedingt alle relevanten Protokolldateien, Fehlermeldungen oder Befehlsausgaben bei.