IBM Cloud Docs
¿Por qué el estado de la red muestra un error NHC003 ?

¿Por qué el estado de la red muestra un error NHC003 ?

Nube privada virtual Infraestructura clásica

Cuando compruebe el estado de salud de su clúster ejecutando ibmcloud ks cluster health issues --cluster <CLUSTER_ID>, verá un error similar al del siguiente ejemplo.

ID       Component   Severity   Description
NHC003   Network     Warning    Some worker nodes in the cluster can not reach container image registries to pull images.

Si comprueba los detalles del problema, verá a qué registro no se puede acceder desde qué nodo trabajador.

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

Esta advertencia significa que algunos de los nodos trabajadores no pueden acceder a registros de contenedores externos, como Docker Hub, Quay o IBM Cloud Container Registry, lo que les impide extraer imágenes requeridas por sus cargas de trabajo.

Asegúrese de que los nodos trabajadores tienen acceso a Internet y pueden acceder a los registros de contenedores externos. Compruebe también las políticas de red, los grupos de seguridad y la configuración del cortafuegos.

  1. Desde un pod ejecutándose en el nodo afectado, compruebe si el nodo puede acceder al registro. Iniciar un pod de depuración.

    kubectl run  -i --tty debug \
     --image=us.icr.io/armada-master/network-alpine:latest \
     --restart=Never \
     --overrides='
    {
      "apiVersion": "v1",
      "spec": {
        "nodeName": "<node-name>"
      }
    }' -- sh
    

    Luego, dentro del pod, intenta acceder al registro de un contenedor.

    wget <registry_address>
    

    O utilice curl si está disponible:

    curl -I <registry_address>
    
  2. Compruebe si los nodos trabajadores tienen acceso saliente a Internet ejecutando un traceroute o ping desde el pod de depuración.

    traceroute <registry_address>
    
    ping <registry_address>
    
  3. Compruebe si existen políticas de red restrictivas y políticas de red globales.

    kubectl get networkpolicies --all-namespaces
    
     kubectl get globalnetworkpolicies.crd.projectcalico.org
    

    Busque políticas que bloqueen el tráfico de salida desde los nodos de los trabajadores a Internet o a los dominios de registro específicos.

  4. Verifique los grupos de seguridad de su clúster y asegúrese de que el tráfico saliente está permitido. Para cada nodo trabajador, compruebe el grupo de seguridad. Asegúrese de que no hay reglas que bloqueen HTTPS (puerto TCP 443) o DNS (puerto UDP 53).

  5. Revise su infraestructura (dispositivos de red, grupos de seguridad, ACL, etc.) y habilite el acceso saliente si es necesario.

  6. Si utiliza registros de contenedores privados, compruebe que la resolución DNS y la autenticación funcionan.

  7. Tras aplicar las correcciones, espere unos minutos y vuelva a comprobar el estado del clúster.

  8. Si el problema persiste, póngase en contacto con el servicio de asistencia para obtener más ayuda. Abra un caso de soporte. En los detalles del caso, asegúrese de incluir todos los archivos de registro, mensajes de error o salidas de comando relevantes.