Soluciona problemas de GPU en GKE


En esta página, se muestra cómo resolver problemas relacionados con las GPU en Google Kubernetes Engine (GKE).

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.

Instalación del controlador de GPU

En esta sección, se proporciona información sobre la solución de problemas para dispositivos NVIDIA automáticos de la instalación de controladores en GKE.

La instalación del controlador falla en los nodos de Ubuntu

Si usas nodos de Ubuntu que tienen GPU L4 conectadas o GPU H100, es posible que el controlador de GPU predeterminado que instala GKE no sea la versión requerida para esas GPU, o una posterior. Como resultado, el pod del complemento del dispositivo de GPU permanece bloqueado en el estado Pendiente y tus cargas de trabajo de GPU en esos nodos pueden experimentar problemas.

Para resolver este problema, instala de forma manual la versión 500 o posterior del controlador mediante la ejecución del siguiente comando:

kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/ubuntu/daemonset-preloaded-R535.yaml

Los complementos del dispositivo GPU fallan con errores CrashLoopBackOff.

El siguiente problema ocurre si usaste el método de instalación manual de controladores en tu grupo de nodos antes del 25 de enero de 2023 y luego actualizaste tu grupo de nodo a una versión de GKE compatible con la instalación automática de controladores. Ambas cargas de trabajo de instalación existen al mismo tiempo y tratan de instalar versiones de controladores en conflicto en tus nodos.

El contenedor de inicialización del complemento de dispositivo GPU falla con el estado Init:CrashLoopBackOff. Los registros del contenedor son similares a los siguientes:

failed to verify installation: failed to verify GPU driver installation: exit status 18

Para resolver este problema, realiza las siguientes acciones:

  • Quita el DaemonSet de instalación manual del controlador de tu clúster. Esto borra la carga de trabajo de instalación en conflicto y permite que GKE instale automáticamente un controlador en tus nodos.

    kubectl delete -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
    
  • Vuelve a aplicar el manifiesto de DaemonSet para la instalación manual de controladores a tu clúster. El 25 de enero de 2023, actualizamos el manifiesto para que ignore los nodos que usan la instalación automática de controladores.

    kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/master/nvidia-driver-installer/cos/daemonset-preloaded.yaml
    
  • Inhabilita la instalación automática de controladores para tu grupo de nodos. El DaemonSet de instalación de controladores existente debería funcionar como se espera después de que se complete la operación de actualización.

    gcloud container node-pools update POOL_NAME \
        --accelerator=type=GPU_TYPE,count=GPU_COUNT,gpu-driver-version=disabled \
        --cluster=CLUSTER_NAME \
        --location=LOCATION
    

    Reemplaza lo siguiente:

    • POOL_NAME: el nombre del grupo de nodos
    • GPU_TYPE: Es el tipo de GPU que ya se usa en el grupo de nodos.
    • GPU_COUNT: Es la cantidad de GPU que ya están conectadas al grupo de nodos.
    • CLUSTER_NAME: Es el nombre del clúster de GKE que contiene el grupo de nodos.
    • LOCATION: La ubicación de Compute Engine del clúster.

¿Qué sigue?

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.