Aller au contenu

RunRestore

Un objet RunRestore peut être créé pour déclencher manuellement la restauration d’un espace de noms via kubectl. Chaque RunRestore correspond à une seule tâche de restauration.

Notez qu’une restauration lancée depuis le portail Afi ne crée pas d’objet RunRestore correspondant. Un objet RunRestore est créé uniquement via kubectl et doit porter un nom unique.

Voici un exemple de fichier YAML RunRestore :

apiVersion: k8sbackup.afi.ai/v1alpha1
kind: RunRestore
metadata:
  namespace: postgresql-restored
  generateName: postgresql-
spec:
  policy:
    selectors: []
  archiveRef: 01GM47ZVFB4KKNXPP6Z0C6AA21
  pit: 1
  waitStableState: true
  • Le champ namespace de la section metadata pointe vers l’espace de noms de destination de la restauration. Notez que cet espace de noms doit être créé avant la restauration ; il n’est pas créé automatiquement.
  • Le champ generateName permet de générer un nom unique pour un nouvel objet RunRestore.
  • Le champ policy.selectors de la section spec permet de restaurer, depuis la sauvegarde de l’espace de noms, les objets précis qui correspondent aux sélecteurs (l’utilisation du champ selectors est semblable à celle des paramètres de BackupPolicy), par exemple pour restaurer les objets d’un type donné ou portant une étiquette donnée.
  • Le champ archiveRef est l’identifiant d’une archive de sauvegarde (vous pouvez l’obtenir en répertoriant les objets Archive dans l’espace de noms source de la restauration).
  • Le champ pit (abréviation de point-in-time) correspond au numéro d’un instantané dans l’archive de sauvegarde. Il peut être omis pour demander une restauration à partir de l’instantané le plus récent.
  • Le champ waitStableState indique si la tâche de restauration doit attendre que l’application restaurée atteigne un état stable (notamment que tous les StatefulSets aient atteint le nombre souhaité de réplicas, que tous les Pods soient prêts, etc.).

Vous pouvez exécuter une restauration en créant un objet RunRestore comme suit :

 kubectl create -f afi-runrestore.yaml

Vous pouvez répertorier les restaurations lancées vers un espace de noms donné comme suit :

kubectl get runrestore -n postgresql