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 se produce un fallo 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, PersistentVolumeClaims
solicita 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
PersistentVolumeClaim
yPersistentVolume
problemáticos. Los nombres delPersistentVolumeClaim
problemático y de suPersistentVolume
asociado se indican en el campostate reason
de la operación Backup for GKE fallida. Recomendamos documentar tanto el nombre dePersistentVolumeClaim
como su espacio de nombres y el nombre dePersistentVolume
.Inspecciona el
PersistentVolume
. Para describir elPersistentVolume
, usa el nombrePersistentVolume
que has identificado en el campo "state reason" (motivo del estado) del siguiente comando:kubectl describe pv PERSISTENTVOLUME_NAME
Sustituye
PERSISTENTVOLUME_NAME
por el nombre de tu PersistentVolume.En el resultado, consulta la sección
source
, concretamente encsi
. En esta sección se describe elVolumeHandle
al 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,
VolumeHandle
contiene 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
VolumeHandle
obtenido de la descripción dePersistentVolume
para 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, usa Google Cloud CLI para ejecutar el comando
gcloud compute disks describe
:gcloud compute disks describe DISK_NAME \ --zone=ZONE_NAME \ --project=PROJECT_ID
Haz los cambios siguientes:
DISK_NAME
: el nombre del disco que has obtenido de laPersistentVolume
descripció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, usa Google Cloud CLI para ejecutar el comando
gcloud compute disks describe
:gcloud compute disks describe DISK_NAME \ --region=REGION_NAME \ --project=PROJECT_ID
Haz los cambios siguientes:
DISK_NAME
: el nombre del disco que has obtenido de laPersistentVolume
descripció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 found
oThe 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 configuradoPersistentVolume
con 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
PersistentVolume
configuración.
Si ya no se necesitan el
PersistentVolumeClaim
o elPersistentVolume
, sus datos o la aplicación, te recomendamos que elimines la entidad que no necesites:- Elimina el
PersistentVolumeClaim
: elimina elPersistentVolumeClaim
con la herramienta de línea de comandoskubectl
para ejecutar el comandokubectl delete pvc
:
kubectl delete pvc PVC_NAME -n NAMESPACE
Haz los cambios siguientes:
PVC_NAME
: el nombre delPersistentVolumeClaim
que quieres eliminar.NAMESPACE
: el espacio de nombres delPersistentVolumeClaim
que quieras eliminar.
- Elimina el
El
PersistentVolume
sigue presente después de eliminar elPersistentVolumeClaim
: si elPersistentVolumeReclaimPolicy
delPersistentVolume
está configurado comoDelete
, elPersistentVolume
se elimina automáticamente cuando se elimina elPersistentVolumeClaim
. Si elpersistentVolumeReclaimPolicy
está configurado comoRetain
, debes eliminar manualmente elPersistentVolume
después de que se elimine elPersistentVolumeClaim
. Para eliminar elPersistentVolume
, usa la herramienta de línea de comandoskubectl
para ejecutar el comandokubectl delete pv
:kubectl delete pv PV_NAME
Sustituye
PV_NAME
por el nombre delPersistentVolume
que quieras eliminar.
Si la operación sigue fallando, ponte en contacto con el equipo de Asistencia de Google Cloud para obtener más ayuda.