Cette page décrit les erreurs liées au stockage que vous pouvez rencontrer lorsque vous utilisez Sauvegarde pour GKE, les points à prendre en compte lorsque vous effectuez l'action et les étapes à suivre pour résoudre le problème.
Erreur 100010105 : Échec de la sauvegarde de PersistentVolumeClaim – Le disque référencé par PersistentVolume n'existe pas
L'erreur 100010105
se produit lorsqu'une tentative de sauvegarde d'un PersistentVolumeClaim
échoue, car il fait référence à un disque qui n'existe pas. Un message d'erreur Failed to backup PersistentVolumeClaim - Disk referenced by PersistentVolume does not exist
s'affiche alors.
Dans Google Kubernetes Engine, PersistentVolumeClaims
demande du stockage à partir de PersistentVolumes
. Un PersistentVolume
représente une partie du stockage, souvent un disque persistant Compute Engine sous-jacent. Une erreur peut se produire lorsqu'un PersistentVolumeClaim
est lié à un PersistentVolume
et que la configuration du PersistentVolume
spécifie un disque persistant Compute Engine. Toutefois, le disque réel dont le nom et l'emplacement sont spécifiés dans la configuration PersistentVolume
est introuvable dans votre projet Google Cloud . Par conséquent, Sauvegarde pour GKE ne peut pas sauvegarder un disque inexistant et une erreur se produit.
Pour résoudre cette erreur, suivez les instructions ci-dessous :
Identifiez les
PersistentVolumeClaim
etPersistentVolume
problématiques. Les noms de l'PersistentVolumeClaim
problématique et de sonPersistentVolume
associé sont listés dans le champstate reason
de votre opération Sauvegarde pour GKE ayant échoué. Nous vous recommandons de documenter le nomPersistentVolumeClaim
, son espace de noms et le nom duPersistentVolume
.Inspectez le
PersistentVolume
. Pour décrire lePersistentVolume
, utilisez le nomPersistentVolume
que vous avez identifié à partir du champ "Raison de l'état" dans la commande suivante :kubectl describe pv PERSISTENTVOLUME_NAME
Remplacez
PERSISTENTVOLUME_NAME
par le nom de votre PersistentVolume.Dans le résultat, examinez la section
source
, en particulier souscsi
. Cette section décrit leVolumeHandle
que lePersistentVolume
tente de référencer. Exemple :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 ...
Dans cet exemple,
VolumeHandle
contient le chemin d'accès complet au disque, y compris son nom et son emplacement. Exemple :projects/my-gcp-project/zones/us-central1-a/disks/my-disk-name
.Utilisez le
VolumeHandle
obtenu à partir de la descriptionPersistentVolume
pour identifier le nom et la zone du disque.Vérifiez que le disque existe dans votre projet Google Cloud en utilisant l'une des méthodes suivantes :
Disque zonal
Si vous utilisez un disque zonal, exécutez la commande
gcloud compute disks describe
à l'aide de Google Cloud CLI :gcloud compute disks describe DISK_NAME \ --zone=ZONE_NAME \ --project=PROJECT_ID
Remplacez les éléments suivants :
DISK_NAME
: nom du disque que vous avez obtenu à partir de la descriptionPersistentVolume
.ZONE_NAME
: zone du disque que vous avez obtenue à partir de la descriptionPersistentVolume
.PROJECT_ID
: ID de votre projet Google Cloud .
Disque régional
Si vous utilisez un disque régional, exécutez la commande
gcloud compute disks describe
à l'aide de Google Cloud CLI :gcloud compute disks describe DISK_NAME \ --region=REGION_NAME \ --project=PROJECT_ID
Remplacez les éléments suivants :
DISK_NAME
: nom du disque que vous avez obtenu à partir de la descriptionPersistentVolume
.REGION_NAME
: région du disque que vous avez obtenue à partir de la descriptionPersistentVolume
.PROJECT_ID
: ID de votre projet Google Cloud .
Si vous recevez un message d'erreur
Resource not found
ouThe resource DISK_NAME was not found
, cela signifie que le disque n'existe pas. Utilisez l'une des méthodes suivantes pour résoudre le problème en fonction du scénario qui correspond le mieux à vos besoins :Si le disque a été supprimé ou mal nommé par erreur et que vous souhaitez conserver les données ou
PersistentVolumeClaim
, ou siPersistentVolume
a été configuré avec un nom de disque incorrect, utilisez l'une des méthodes suivantes pour résoudre le problème :Restaurer le disque : si vous disposez d'une sauvegarde du disque, restaurez-la en lui attribuant exactement le même nom et le même emplacement que ceux référencés par
PersistentVolume
.Créez un disque : si la restauration du disque n'est pas possible, créez-en un avec le même nom et le même emplacement que ceux de la configuration
PersistentVolume
.
Si l'
PersistentVolumeClaim
ou l'PersistentVolume
, leurs données ou l'application ne sont plus nécessaires, nous vous recommandons de supprimer l'entité inutile :- Supprimez le
PersistentVolumeClaim
: supprimez lePersistentVolumeClaim
à l'aide de l'outil de ligne de commandekubectl
pour exécuter la commandekubectl delete pvc
:
kubectl delete pvc PVC_NAME -n NAMESPACE
Remplacez les éléments suivants :
PVC_NAME
: nom de laPersistentVolumeClaim
que vous souhaitez supprimer.NAMESPACE
: espace de noms de l'PersistentVolumeClaim
que vous souhaitez supprimer.
- Supprimez le
Le
PersistentVolume
est toujours présent après la suppression duPersistentVolumeClaim
: si lePersistentVolumeReclaimPolicy
duPersistentVolume
est défini surDelete
, lePersistentVolume
est automatiquement supprimé lorsque lePersistentVolumeClaim
est supprimé. SipersistentVolumeReclaimPolicy
est défini surRetain
, vous devez supprimer manuellement lePersistentVolume
après la suppression duPersistentVolumeClaim
. Pour supprimer lePersistentVolume
, utilisez l'outil de ligne de commandekubectl
pour exécuter la commandekubectl delete pv
:kubectl delete pv PV_NAME
Remplacez
PV_NAME
par le nom de l'PersistentVolume
que vous souhaitez supprimer.
Si l'opération continue d'échouer, contactez l'assistance Cloud Customer Care pour obtenir de l'aide.