Soluciona problemas de volúmenes de Managed Lustre

En esta página, se incluyen pasos para solucionar problemas y errores comunes cuando se usa el controlador de CSI de Google Cloud Managed Lustre en Google Kubernetes Engine.

Antes de seguir los pasos para solucionar problemas en esta sección, consulta las limitaciones cuando te conectas a Managed Lustre desde GKE.

Capacidad mínima de instancia actualizada

La capacidad mínima para las instancias de Managed Lustre se actualizó a 9,000 GiB. Para crear instancias de 9,000 GiB con el controlador de CSI de Managed Lustre, actualiza la versión de tu clúster a 1.34.0-gke.2285000 o una posterior.

Nivel de rendimiento incorrecto para instancias de Lustre aprovisionadas de forma dinámica

Cuando se aprovisiona de forma dinámica una instancia de Lustre, falla la creación de la instancia con un error InvalidArgument para PerUnitStorageThroughput, independientemente del valor de perUnitStorageThroughput especificado en la solicitud a la API. Esto afecta a las versiones de GKE 1.33 anteriores a 1.33.4-gke.1036000.

Solución alternativa:

Actualiza el clúster de GKE a la versión 1.33.4-gke.1036000 o una posterior. Si usas el canal Estable, es posible que aún no esté disponible una versión más reciente. En este caso, puedes seleccionar de forma manual una versión de los canales Normal o Rápido que incluya la corrección.

Puertos de comunicación de Managed Lustre

El controlador de CSI de Managed Lustre usa diferentes puertos para la comunicación con las instancias de Managed Lustre, según la versión de tu clúster de GKE y las configuraciones existentes de Managed Lustre.

  • Puerto predeterminado (988): Para los clústeres de GKE nuevos que ejecutan la versión 1.33.2-gke.4780000 o una posterior, el controlador usa el puerto 988 para la comunicación de Lustre de forma predeterminada.

  • Puerto heredado (6988): El controlador usa el puerto 6988 en las siguientes situaciones:

    • Versiones anteriores de GKE: Si tu clúster de GKE ejecuta una versión anterior a 1.33.2-gke.4780000, se requiere la marca --enable-legacy-lustre-port cuando se habilita el controlador de CSI. Habilitar esta marca soluciona un conflicto de puertos con gke-metadata-server en los nodos de GKE.
    • Instancias existentes de Managed Lustre con compatibilidad con GKE: Si te conectas a una instancia existente de Managed Lustre que se creó con la marca --gke-support-enabled, debes incluir --enable-legacy-lustre-port cuando habilites el controlador de CSI, independientemente de la versión de tu clúster. Sin esta marca, tu clúster de GKE no podrá activar la instancia de Lustre existente.

    Para obtener más información sobre cómo habilitar el controlador de CSI con el puerto heredado, consulta Puertos de comunicación de Lustre.

Consultas de registros

Para verificar los registros, ejecuta la siguiente consulta en el Explorador de registros.

Para mostrar los registros del servidor de nodos del controlador de CSI de Managed Lustre, haz lo siguiente:

resource.type="k8s_container"
resource.labels.pod_name=~"lustre-csi-node*"

Soluciona problemas de aprovisionamiento de volúmenes

Si PersistentVolumeClaim (PVC) permanece en estado Pending y no se crea PersistentVolume (PV) después de 20 a 30 minutos, es posible que se haya producido un error.

  1. Verifica los eventos de PVC:

    kubectl describe pvc PVC_NAME
    
  2. Si el error indica problemas de configuración o argumentos no válidos, verifica tus parámetros de StorageClass.

  3. Vuelve a crear el PVC.

  4. Si el problema persiste, comunícate con Atención al cliente de Cloud.

Soluciona problemas de activación de volúmenes

Después de que el Pod se programa en un nodo, se activa el volumen. Si falla, verifica los eventos del Pod y los registros de kubelet.

kubectl describe pod POD_NAME

Problemas de habilitación del controlador de CSI

Síntoma:

MountVolume.MountDevice failed for volume "yyy" : kubernetes.io/csi: attacher.MountDevice failed to create newCsiDriverClient: driver name lustre.csi.storage.gke.io not found in the list of registered CSI drivers

o

MountVolume.SetUp failed for volume "yyy" : kubernetes.io/csi: mounter.SetUpAt failed to get CSI client: driver name lustre.csi.storage.gke.io not found in the list of registered CSI drivers

Causa: El controlador de CSI no está habilitado o aún no se está ejecutando.

Resolución:

  1. Verifica que el controlador de CSI esté habilitado.
  2. Si el clúster se escaló o actualizó recientemente, espera unos minutos para que el controlador funcione.
  3. Si el error persiste, verifica los registros de lustre-csi-node para ver si aparece "Operation not permitted". Esto indica que la versión del nodo es demasiado antigua para admitir Managed Lustre. Para resolver este problema, actualiza tu grupo de nodos a la versión 1.33.2-gke.1111000 o una posterior.
  4. Si los registros muestran "LNET_PORT mismatch", actualiza tu grupo de nodos para asegurarte de que estén instalados los módulos del kernel de Lustre compatibles.

El punto de activación ya existe

Síntoma:

MountVolume.MountDevice failed for volume "yyy" : rpc error: code = AlreadyExists
desc = A mountpoint with the same lustre filesystem name "yyy" already exists on
node "yyy". Please mount different lustre filesystems

Causa: No se admite la activación de varios volúmenes de diferentes instancias de Managed Lustre con el mismo nombre de sistema de archivos en un solo nodo.

Resolución: Usa un nombre de sistema de archivos único para cada instancia de Managed Lustre.

Falló la activación: No existe el archivo o el directorio

Síntoma:

MountVolume.MountDevice failed for volume "yyy" : rpc error: code = Internal desc = Could not mount ... failed: No such file or directory

Causa: El nombre del sistema de archivos especificado es incorrecto o no existe.

Resolución: Verifica que el fs_name en tu StorageClass o configuración de PV coincida con la instancia de Managed Lustre.

Falló la activación: Error de entrada/salida

Síntoma:

MountVolume.MountDevice failed for volume "yyy" : rpc error: code = Internal desc = Could not mount ... failed: Input/output error

Causa: El clúster no puede conectarse a la instancia de Managed Lustre.

Resolución:

  1. Verifica la dirección IP de la instancia de Managed Lustre.
  2. Asegúrate de que el clúster de GKE y la instancia de Managed Lustre estén en la misma red de VPC o que estén correctamente interconectados.

Errores internos

Síntoma: rpc error: code = Internal desc = ...

Resolución: Si el error persiste, comunícate con Atención al cliente de Cloud.

Soluciona problemas de desactivación de volúmenes

Síntoma:

UnmountVolume.TearDown failed for volume "yyy" : rpc error: code = Internal desc = ...

Resolución:

  1. Borra el Pod de forma forzada:

    kubectl delete pod POD_NAME --force
    
  2. Si el problema persiste, comunícate con Atención al cliente de Cloud.

Soluciona problemas de eliminación de volúmenes

Si el PV permanece en estado "Released" durante un período prolongado (por ejemplo, más de una hora) después de borrar el PVC, comunícate con Atención al cliente de Cloud.

Soluciona problemas de expansión de volúmenes

PVC atascado en ExternalExpanding

Síntoma: El estado de PVC no cambia a Resizing y los eventos muestran ExternalExpanding.

Causa: Es posible que falte el campo allowVolumeExpansion o que esté configurado como false.

Resolución: Asegúrate de que StorageClass tenga allowVolumeExpansion: true.

kubectl get storageclass STORAGE_CLASS_NAME -o yaml

Falla la expansión: Argumento no válido

Síntoma: VolumeResizeFailed: rpc error: code = InvalidArgument ...

Causa: El tamaño solicitado no es válido (por ejemplo, no es un múltiplo del tamaño del paso o está fuera de los límites).

Resolución: Verifica los rangos de capacidad válidos y actualiza el PVC con un tamaño válido.

Falla la expansión: Error interno

Síntoma: VolumeResizeFailed ... rpc error: code = Internal

Resolución: Vuelve a intentar la expansión y vuelve a aplicar el PVC. Si falla de forma repetida, comunícate con Atención al cliente de Cloud.

Se superó el plazo

Síntoma: VolumeResizeFailed con DEADLINE_EXCEEDED.

Causa: La operación está tardando más de lo esperado, pero es posible que aún esté en curso.

Resolución: Espera a que se complete la operación. El redimensionador volverá a intentarlo automáticamente. Si permanece atascado durante mucho tiempo (por ejemplo, > 90 minutos), comunícate con el equipo de asistencia.

Se superó la cuota

Síntoma: La expansión falla debido a los límites de cuota.

Resolución: Solicita un aumento de la cuota o solicita un aumento de capacidad más pequeño.