Perché lo stato della rete mostra un errore NHC006
?
Infrastruttura Classic
Quando si controlla lo stato di salute del cluster eseguendo ibmcloud oc cluster health issues --cluster <CLUSTER_ID>
, si vede un errore simile al seguente esempio.
ID Component Severity Description
NHC006 Network Warning One or more DNS resolvers are not reachable from certain worker nodes.
Se si controllano i dettagli del problema, si vedrà quali risolutori DNS non sono accessibili da quale nodo worker.
ibmcloud ks cluster health issue get --cluster <CLUSTER_ID> --issue NHC006
Questo avviso indica che alcuni nodi worker non sono in grado di raggiungere uno o più resolver DNS. Questo può portare a guasti del DNS e avere un impatto sulla comunicazione del carico di lavoro.
-
Ispezionare Calico GlobalNetworkPolicies (PNL) elencando tutti i PNL.
kubectl get globalnetworkpolicies.crd.projectcalico.org
Eseguire il seguente comando per esaminare un criterio specifico.
kubectl get globalnetworkpolicies.crd.projectcalico.org <policy-name> -o yaml
-
Cercate le regole di
egress
che bloccano il traffico DNS (porta UDP/TCP 53). Controllare anche i campiselector
che potrebbero includere impropriamente i nodi lavoratori. -
Convalidare la raggiungibilità DNS dai nodi worker utilizzando un pod di debug
kubectl run -i --tty debug \ --image=us.icr.io/armada-master/network-alpine:latest \ --restart=Never \ --overrides=' { "apiVersion": "v1", "spec": { "nodeName": "<node-name>" } }' -- sh
-
Eseguire i seguenti comandi all'interno del pod di debug. Se questi non funzionano, il DNS potrebbe essere bloccato dai criteri o dalle configurazioni di IaaS-level.
nslookup ibm.com
dig ibm.com
-
Esaminare l'infrastruttura (dispositivi di rete, ACL e così via) e consentire il traffico UDP e TCP porta 53 in uscita.
-
Se il problema persiste, contattare il supporto per ulteriore assistenza. Apri un caso di supporto. Nei dettagli del caso, assicurarsi di includere qualsiasi file di registro, messaggio di errore o output di comando pertinente.