IBM Cloud Docs
Perché lo stato della rete mostra un errore NHC004 ?

Perché lo stato della rete mostra un errore NHC004 ?

VPC (Virtual Private Cloud)

Quando si controlla lo stato di salute del cluster eseguendo ibmcloud ks cluster health issues --cluster <CLUSTER_ID>, si vede un errore simile al seguente esempio.

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

Questo avviso indica che la risoluzione DNS non riesce per gli hostname associati ai Virtual Private Endpoint (VPE). Ciò può influire sui servizi che si basano sulla connettività privata ai servizi di IBM Cloud.

Assicurarsi che i nodi worker abbiano configurato i resolver DNS corretti e che siano in grado di risolvere i nomi host del gateway VPE. I passaggi seguenti aiutano a confermare se il problema di risoluzione DNS è dovuto a endpoint VPE non raggiungibili o a una configurazione errata.

Come trovare i gateway VPE per un cluster VPC

Per identificare i gateway VPE utilizzati dal cluster IBM Cloud Kubernetes Service, procedere come segue:

1. Utilizzare la CLI di IBM Cloud per elencare i gateway degli endpoint

  1. Eseguire il seguente comando per elencare tutti i gateway VPE (endpoint) della VPC.

    ibmcloud is endpoint-gateways
    

    Esempio di comando per elencare i VPE per una specifica VPC.

    ibmcloud is endpoint-gateways --vpc <VPC-ID>
    
  2. Filtrare l'output per iks-cluster_ID e cercare Service Endpoints. Mostra i servizi associati, gli indirizzi IP e i nomi degli endpoint.

2. Utilizzare la console IBM Cloud per elencare i gateway degli endpoint

  1. Navigare su Infrastruttura VPC > Gateway endpoint
  2. Selezionare la VPC
  3. Esaminare i gateway configurati per l'accesso ai servizi privati e visualizzare le informazioni DNS/IP

3. Dopo aver individuato l'hostname del gateway VPE, completare le seguenti operazioni.

  1. Da un pod in esecuzione su un nodo worker, lanciare una shell di debug:

    kubectl run -i --tty debug --image=us.icr.io/armada-master/network-alpine:latest --restart=Never -- sh
    
  2. All'interno del pod, provare a risolvere un hostname del gateway VPE.

    nslookup <vpe-hostname>
    
    dig <vpe-hostname>
    
  3. Testate la risoluzione DNS direttamente utilizzando un servizio DNS VPC.

    dig <vpe-hostname> @161.26.0.7
    
    dig <vpe-hostname> @161.26.0.8
    
  4. Se il cluster utilizza configurazioni DNS personalizzate (ad esempio, impostazioni modificate di CoreDNS ), ispezionare la configurazione.

    kubectl get configmap coredns -n kube-system -o yaml
    
  5. Se necessario, aggiornare la configurazione di CoreDNS per assicurarsi che siano inclusi i server DNS di risoluzione VPE, quindi ricaricare CoreDNS.

    kubectl rollout restart deployment coredns -n kube-system
    
  6. Assicurarsi che le impostazioni DNS della VPC consentano l'accesso agli hostname della VPE. Nella console IBM Cloud, navigare in VPC > Servizi DNS e convalidare le regole DNS.

  • Per ulteriori informazioni sui gateway Virtual Private Endpoint (VPE) in IBM Cloud Kubernetes Service, vedere Gateway Virtual Private Endpoint(VPE).

  • Dopo le correzioni, attendere qualche minuto e ricontrollare lo stato di salute del cluster.

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