En esta página se describen los errores relacionados con el almacenamiento que pueden producirse al usar Backup para GKE, los aspectos que debes tener en cuenta al realizar la acción y los pasos para solucionar el problema.
Error 100010105: No se ha podido crear una copia de seguridad de PersistentVolumeClaim. El disco al que hace referencia PersistentVolume no existe.
El error 100010105 se produce cuando se intenta crear una copia de seguridad de un PersistentVolumeClaim
y falla porque hace referencia a un disco que no existe, lo que provoca que se muestre el mensaje de error Failed to backup PersistentVolumeClaim - Disk referenced by PersistentVolume does not exist.
En Google Kubernetes Engine, PersistentVolumeClaimssolicita almacenamiento a
PersistentVolumes. Un PersistentVolume, a su vez, representa una parte del almacenamiento, a menudo un disco persistente de Compute Engine subyacente. Se puede producir un error cuando se vincula un PersistentVolumeClaim a un PersistentVolume y la configuración del PersistentVolume especifica un disco persistente de Compute Engine. Sin embargo, no se ha encontrado el disco con el nombre y la ubicación especificados en la configuración PersistentVolume en tu proyecto Google Cloud . Por lo tanto, Copia de seguridad de GKE no puede crear una copia de seguridad de un disco que no existe y se produce un error.
Para resolver este error, siga estas instrucciones:
Identifica los
PersistentVolumeClaimyPersistentVolumeproblemáticos. Los nombres delPersistentVolumeClaimproblemático y de suPersistentVolumeasociado se indican en el campostate reasonde la operación Backup for GKE fallida. Recomendamos documentar tanto el nombre dePersistentVolumeClaimcomo su espacio de nombres y el nombre dePersistentVolume.Inspecciona el
PersistentVolume. Para describir elPersistentVolume, usa el nombrePersistentVolumeque has identificado en el campo "state reason" (motivo del estado) del siguiente comando:kubectl describe pv PERSISTENTVOLUME_NAMESustituye
PERSISTENTVOLUME_NAMEpor el nombre de tu PersistentVolume.En el resultado, consulta la sección
source, concretamente encsi. En esta sección se describe elVolumeHandleal que intenta hacer referencia elPersistentVolume. Por ejemplo:Source: Type: GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine) PDName: my-non-existent-disk FSType: ext4 Partition: 0 ReadOnly: false In this example, the PD name is my-non-existent-disk. Source: Type: CSI (a Container Storage Interface (CSI) volume) Driver: pd.csi.storage.gke.io VolumeHandle: projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME ...En este ejemplo,
VolumeHandlecontiene la ruta completa al disco, incluido su nombre y su ubicación. Por ejemplo,projects/my-gcp-project/zones/us-central1-a/disks/my-disk-name.Usa el
VolumeHandleobtenido de la descripción dePersistentVolumepara identificar el nombre y la zona del disco.Verifica que el disco existe en tu Google Cloud proyecto mediante uno de los siguientes métodos:
Disco de zona
Si usas un disco zonal, utiliza la CLI de Google Cloud para ejecutar el comando
gcloud compute disks describe:gcloud compute disks describe DISK_NAME \ --zone=ZONE_NAME \ --project=PROJECT_IDHaz los cambios siguientes:
DISK_NAME: el nombre del disco que has obtenido de laPersistentVolumedescripción.ZONE_NAME: la zona del disco que has obtenido de la descripciónPersistentVolume.PROJECT_ID: tu ID de proyecto Google Cloud .
Disco regional
Si usas un disco regional, utiliza Google Cloud CLI para ejecutar el comando
gcloud compute disks describe:gcloud compute disks describe DISK_NAME \ --region=REGION_NAME \ --project=PROJECT_IDHaz los cambios siguientes:
DISK_NAME: el nombre del disco que has obtenido de laPersistentVolumedescripción.REGION_NAME: la región del disco que has obtenido de la descripciónPersistentVolume.PROJECT_ID: tu ID de proyecto Google Cloud .
Si recibes un mensaje de error
Resource not foundoThe resource DISK_NAME was not found, significa que el disco no existe. Utilice uno de los siguientes métodos para resolver el problema en función del escenario que mejor se adapte a sus necesidades:Si el disco se ha eliminado o se le ha cambiado el nombre por error y quieres conservar los datos o
PersistentVolumeClaim, o bien si se ha configuradoPersistentVolumecon un nombre de disco incorrecto, utiliza uno de los siguientes métodos para solucionar el problema:Restaurar el disco: si tienes una copia de seguridad del disco, restáurala con el mismo nombre y ubicación que
PersistentVolume.Crea un disco nuevo: si no puedes restaurar el disco, crea uno nuevo con el mismo nombre y la misma ubicación que en la
PersistentVolumeconfiguración.
Si ya no se necesitan el
PersistentVolumeClaimo elPersistentVolume, sus datos o la aplicación, te recomendamos que elimines la entidad que no necesites:- Elimina el
PersistentVolumeClaim: elimina elPersistentVolumeClaimcon la herramienta de línea de comandoskubectlpara ejecutar el comandokubectl delete pvc:
kubectl delete pvc PVC_NAME -n NAMESPACEHaz los cambios siguientes:
PVC_NAME: el nombre delPersistentVolumeClaimque quieres eliminar.NAMESPACE: el espacio de nombres delPersistentVolumeClaimque quieras eliminar.
- Elimina el
El
PersistentVolumesigue presente después de eliminar elPersistentVolumeClaim: si elPersistentVolumeReclaimPolicydelPersistentVolumeestá configurado comoDelete, elPersistentVolumese elimina automáticamente cuando se elimina elPersistentVolumeClaim. Si elpersistentVolumeReclaimPolicyestá configurado comoRetain, debes eliminar manualmente elPersistentVolumedespués de que se elimine elPersistentVolumeClaim. Para eliminar elPersistentVolume, usa la herramienta de línea de comandoskubectlpara ejecutar el comandokubectl delete pv:kubectl delete pv PV_NAMESustituye
PV_NAMEpor el nombre delPersistentVolumeque quieras eliminar.
Si la operación sigue fallando, ponte en contacto con el servicio de atención al cliente de Cloud para obtener más ayuda.