Cette page décrit les erreurs liées au stockage que vous pouvez rencontrer lorsque vous utilisez Sauvegarde pour GKE, les éléments à 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, demandez le stockage PersistentVolumeClaims à partir de PersistentVolumes. Un PersistentVolume, quant à lui, représente un espace de 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 portant le nom et l'emplacement 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
PersistentVolumeClaimetPersistentVolumeproblématiques. Le nom de l'PersistentVolumeClaimproblématique et celui de sonPersistentVolumeassocié sont listés dans le champstate reasonde 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 nomPersistentVolumeque vous avez identifié dans le champ de motif de l'état dans la commande suivante :kubectl describe pv PERSISTENTVOLUME_NAMERemplacez
PERSISTENTVOLUME_NAMEpar le nom de votre PersistentVolume.Dans le résultat, examinez la section
source, en particulier souscsi. Cette section décrit l'élémentVolumeHandleque l'élémentPersistentVolumetente 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,
VolumeHandlecontient 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
VolumeHandleobtenu à partir de la descriptionPersistentVolumepour 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_IDRemplacez les éléments suivants :
DISK_NAME: nom du disque 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_IDRemplacez les éléments suivants :
DISK_NAME: nom du disque 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 foundouThe 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é accidentellement ou s'il a été mal nommé et que vous souhaitez conserver les données ou
PersistentVolumeClaim, ou siPersistentVolumea é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-le avec le même nom et le même emplacement que ceux référencés par
PersistentVolume.Créer un disque : si vous ne pouvez pas restaurer le disque, créez-en un autre avec le même nom et le même emplacement que ceux de la configuration
PersistentVolume.
Si vous n'avez plus besoin de
PersistentVolumeClaim, dePersistentVolume, de leurs données ou de l'application, nous vous recommandons de supprimer l'entité inutile :- Supprimer le
PersistentVolumeClaim: supprimez lePersistentVolumeClaimà l'aide de l'outil de ligne de commandekubectlpour exécuter la commandekubectl delete pvc:
kubectl delete pvc PVC_NAME -n NAMESPACERemplacez les éléments suivants :
PVC_NAME: nom de laPersistentVolumeClaimque vous souhaitez supprimer.NAMESPACE: espace de noms de l'PersistentVolumeClaimque vous souhaitez supprimer.
- Supprimer le
Le
PersistentVolumeest toujours présent après la suppression duPersistentVolumeClaim: si lePersistentVolumeReclaimPolicyduPersistentVolumeest défini surDelete, lePersistentVolumeest automatiquement supprimé lorsque lePersistentVolumeClaimest supprimé. SipersistentVolumeReclaimPolicyest défini surRetain, vous devez supprimer manuellement lePersistentVolumeaprès la suppression duPersistentVolumeClaim. Pour supprimerPersistentVolume, utilisez l'outil de ligne de commandekubectlpour exécuter la commandekubectl delete pv:kubectl delete pv PV_NAMERemplacez
PV_NAMEpar le nom de l'PersistentVolumeque vous souhaitez supprimer.
Si l'opération continue d'échouer, contactez l'assistance Cloud Customer Care pour obtenir de l'aide.
Erreur 100010202 : Échec de la création d'un instantané du volume
L'erreur 100010202 se produit lorsque la création d'un instantané de disque persistant Compute Engine échoue, ce qui entraîne un message d'erreur indiquant Snapshotting volume failed.
Une opération d'instantané de disque persistant Compute Engine échoue si l'état de rattachement du disque à une instance de machine virtuelle (VM) change pendant le processus de création d'instantané initié par le service Sauvegarde pour GKE. Voici quelques scénarios courants qui déclenchent cette erreur :
- Réparation automatique des nœuds : les nœuds non opérationnels sont recréés, ce qui entraîne le replanification des pods, ainsi que le détachement et le rattachement des disques.
- Mises à niveau des nœuds : lors des mises à niveau des pools de nœuds, les nœuds sont généralement drainés et remplacés. Les pods sont arrêtés progressivement et reprogrammés sur les nouveaux nœuds, ce qui déclenche des cycles de dissociation et de réassociation des disques.
- Autoscaling de cluster : lors des événements de scaling à la baisse, si l'autoscaler de cluster supprime un nœud, tous les pods de ce nœud avec des disques persistants sont expulsés, ce qui entraîne le détachement des disques. Si ces pods sont reprogrammés ailleurs, les pièces jointes seront ajoutées aux nouveaux nœuds. Lors des événements de scaling à la hausse, les nouveaux nœuds ne provoquent pas directement de rattachements, mais les pods programmés sur ces nœuds déclenchent des rattachements initiaux.
Il s'agit d'une erreur temporaire. La sauvegarde réussit généralement lors de la prochaine exécution automatique une fois que l'association du disque est stabilisée. Pour éviter que les événements de cluster n'affectent vos sauvegardes, appliquez les recommandations suivantes :
Activez la programmation intelligente : configurez votre plan de sauvegarde à l'aide de la programmation intelligente (une planification basée sur le RPO). Cela permet au système de réessayer automatiquement les échecs temporaires dans l'intervalle de temps spécifié sans affecter le RPO global du plan de sauvegarde.
Configurer des intervalles d'exclusion de sauvegarde : si vous effectuez des opérations de mise à niveau de pool de nœuds ou de redimensionnement de cluster, ajoutez un intervalle d'exclusion de sauvegarde à vos paramètres de sauvegarde pendant ces intervalles. Cela garantit que le service Sauvegarde pour GKE sera mis en pause et évitera de planifier des instantanés pendant que votre cluster modifie activement les attachements de disque.
Réessayer les sauvegardes manuelles : dans le cas de sauvegardes manuelles ou à la demande, réessayez l'opération de sauvegarde une fois l'événement de cluster terminé.
Si l'opération continue d'échouer, contactez Cloud Customer Care pour obtenir de l'aide.