Soluciona problemas de volúmenes de Managed Lustre

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

Antes de seguir los pasos para solucionar problemas que se indican en 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 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 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, se produce 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 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 manualmente una versión de los canales Regular o Rapid que incluya la corrección.

Puertos de comunicación de Managed Lustre

El controlador CSI de Managed Lustre usa diferentes puertos para la comunicación 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): Para los clústeres nuevos de GKE 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 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 de nodos del controlador CSI de Lustre administrado, haz lo siguiente:

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

Soluciona problemas relacionados con el aprovisionamiento de volúmenes

Si el PersistentVolumeClaim (PVC) permanece en 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 del 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 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 actualizó o se ajustó recientemente, espera unos minutos a que el controlador funcione.
  3. Si el error persiste, revisa los registros de lustre-csi-node para ver si aparece el mensaje "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 posterior.
  4. Si los registros muestran el mensaje "LNET_PORT mismatch", actualiza tu grupo de nodos para asegurarte de que se instalen módulos de kernel de Lustre compatibles.

El punto de montaje 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 el montaje de varios volúmenes desde diferentes instancias de Lustre administrado 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 montaje: 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 la configuración de tu StorageClass o PV coincida con la instancia de Managed Lustre.

No se pudo activar el dispositivo: 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 el intercambio de tráfico configurado correctamente.

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 relacionados con la desactivació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 el PVC, comunícate con Atención al cliente de Cloud.

Soluciona problemas de expansión de volumen

La PVC está atascada en ExternalExpanding

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

Causa: Es posible que falte el campo allowVolumeExpansion o que esté establecido en false.

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

kubectl get storageclass STORAGE_CLASS_NAME -o yaml

La expansión falla: 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.

Falla en la expansión: error interno

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

Resolución: Vuelve a intentar la expansión aplicando de nuevo la PVC. Si falla repetidamente, 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 se queda atascado 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 más pequeño.