Soluciona problemas de volúmenes de Managed Lustre

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

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

Se actualizó la capacidad mínima de instancias

La capacidad mínima de 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 del clúster a 1.34.0-gke.2285000 o una posterior.

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

Cuando se aprovisiona de forma dinámica una instancia de Lustre, la creación de la instancia falla 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 la 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 haya una versión más reciente disponible. En este caso, puedes seleccionar de forma manual una versión de los canales Regular 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 comunicarse con las instancias de Managed Lustre, según la versión del clúster de GKE y las configuraciones existentes de Managed Lustre.

  • Puerto predeterminado (988): En 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 la 1.33.2-gke.4780000, se requiere la marca --enable-legacy-lustre-port cuando habilitas el controlador de CSI. Habilitar esta marca soluciona un conflicto de puertos con gke-metadata-server en los nodos de GKE.
    • Instancias de Managed Lustre existentes con compatibilidad con GKE: Si te conectas a una instancia de Managed Lustre existente 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 devolver los registros del servidor del nodo 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 el PersistentVolumeClaim (PVC) permanece en un estado Pending y no se crea ningún PersistentVolume (PV) después de 20 a 30 minutos, es posible que se haya producido un error.

  1. Verifica los eventos de la PVC:

    kubectl describe pvc PVC_NAME
    
  2. Si el error indica problemas de configuración o argumentos no válidos, verifica los 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 esto falla, revisa 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 vuelva a funcionar.
  3. Si el error persiste, verifica los registros de lustre-csi-node para ver si aparece el mensaje "Operación no permitida". 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 se instalen módulos de 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.

No se pudo activar: El archivo o directorio no existe

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 configuración de StorageClass o PV coincida con la instancia de Managed Lustre.

No se pudo activar: 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 se puede conectar 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 tengan un intercambio de tráfico correcto.

Errores internos

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

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

Soluciona problemas de desvinculación de volúmenes

Síntoma:

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

Resolución:

  1. Fuerza la eliminación del Pod:

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

Soluciona problemas relacionados con la eliminación de volúmenes

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

Soluciona problemas de expansión de volumen

La PVC se detuvo en ExternalExpanding

Síntoma: El estado de la 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 el 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 la PVC con un tamaño válido.

Error de expansión: error interno

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

Resolución: Vuelve a aplicar la PVC para reintentar la expansión. Si falla de forma reiterada, comunícate con la 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 cambiador de tamaño volverá a intentarlo automáticamente. Si permanece bloqueada durante mucho tiempo (por ejemplo, más de 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 cuota o un aumento de capacidad menor.