4.4. Sauvegarde et restauration
4.4.1. Sauvegarde des applications
Vous sauvegardez les applications en créant une Backup
ressource personnalisée (CR).
Le CR Backup
crée des fichiers de sauvegarde pour les ressources Kubernetes et les images internes, sur le stockage d'objets S3, et des instantanés pour les volumes persistants (PV), si le fournisseur de cloud utilise une API d'instantané native ou l'interface de stockage de conteneurs (CSI) pour créer des instantanés, comme OpenShift Data Foundation 4. Pour plus d'informations, voir Instantanés de volume CSI.
L'API CloudStorage
pour le stockage S3 est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
Si votre fournisseur de cloud dispose d'une API d'instantané native ou prend en charge les instantanés de l'interface de stockage de conteneurs (CSI), le CR Backup
sauvegarde les volumes persistants en créant des instantanés. Pour plus d'informations, voir Overview of CSI volume snapshots dans la documentation OpenShift Container Platform.
Si votre fournisseur de cloud computing ne prend pas en charge les instantanés ou si vos applications se trouvent sur des volumes de données NFS, vous pouvez créer des sauvegardes à l'aide de Restic.
Vous pouvez créer des crochets de sauvegarde pour exécuter des commandes avant ou après l'opération de sauvegarde.
Vous pouvez planifier des sauvegardes en créant un CRSchedule
au lieu d'un CR Backup
.
4.4.1.1. Création d'un CR de sauvegarde
Vous sauvegardez les images Kubernetes, les images internes et les volumes persistants (PV) en créant une ressource personnalisée (CR) Backup
.
Conditions préalables
- Vous devez installer l'opérateur OpenShift API for Data Protection (OADP).
-
Le CR
DataProtectionApplication
doit être dans un étatReady
. Conditions préalables relatives à l'emplacement de la sauvegarde :
- Le stockage d'objets S3 doit être configuré pour Velero.
-
Un emplacement de sauvegarde doit être configuré dans le CR
DataProtectionApplication
.
Conditions préalables pour l'emplacement des instantanés :
- Votre fournisseur de cloud computing doit disposer d'une API d'instantané native ou prendre en charge les instantanés de l'interface de stockage de conteneurs (CSI).
-
Pour les instantanés CSI, vous devez créer un CR
VolumeSnapshotClass
pour enregistrer le pilote CSI. -
Un emplacement de volume doit être configuré dans le CR
DataProtectionApplication
.
Procédure
Récupérez les CR
backupStorageLocations
en entrant la commande suivante :$ oc get backupStorageLocations -n openshift-adp
Exemple de sortie
NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
Créez un CR
Backup
, comme dans l'exemple suivant :apiVersion: velero.io/v1 kind: Backup metadata: name: <backup> labels: velero.io/storage-location: default namespace: openshift-adp spec: hooks: {} includedNamespaces: - <namespace> 1 includedResources: [] 2 excludedResources: [] 3 storageLocation: <velero-sample-1> 4 ttl: 720h0m0s labelSelector: 5 - matchLabels: app=<label_1> - matchLabels: app=<label_2> - matchLabels: app=<label_3> orlabelSelectors: 6 - matchLabels: app=<label_1> - matchLabels: app=<label_2> - matchLabels: app=<label_3>
- 1
- Spécifier un tableau d'espaces de noms à sauvegarder.
- 2
- Facultatif : Spécifiez un tableau de ressources à inclure dans la sauvegarde. Les ressources peuvent être des raccourcis (par exemple, "po" pour "pods") ou être entièrement qualifiées. Si rien n'est spécifié, toutes les ressources sont incluses.
- 3
- Facultatif : Spécifiez un tableau de ressources à exclure de la sauvegarde. Les ressources peuvent être des raccourcis (par exemple, "po" pour "pods") ou être entièrement qualifiées.
- 4
- Indiquez le nom du CR
backupStorageLocations
. - 5
- Sauvegarde des ressources qui ont toutes les étiquettes spécifiées.
- 6
- Sauvegarde des ressources qui ont une ou plusieurs des étiquettes spécifiées.
Vérifiez que l'état de la CR
Backup
estCompleted
:$ oc get backup -n openshift-adp <backup> -o jsonpath='{.status.phase}'
4.4.1.2. Sauvegarde de volumes persistants avec des instantanés CSI
Vous sauvegardez des volumes persistants avec des instantanés de l'interface de stockage de conteneurs (CSI) en modifiant la ressource personnalisée (CR) VolumeSnapshotClass
du stockage en nuage avant de créer la CR Backup
.
Conditions préalables
- Le fournisseur de services en nuage doit prendre en charge les instantanés CSI.
-
Vous devez activer le CSI sur le site
DataProtectionApplication
CR.
Procédure
Ajouter la paire clé-valeur
metadata.labels.velero.io/csi-volumesnapshot-class: "true"
à la CRVolumeSnapshotClass
:apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: <volume_snapshot_class_name> labels: velero.io/csi-volumesnapshot-class: "true" driver: <csi_driver> deletionPolicy: Retain
Vous pouvez maintenant créer un CR Backup
.
4.4.1.3. Sauvegarde des applications avec Restic
Vous sauvegardez les ressources Kubernetes, les images internes et les volumes persistants avec Restic en modifiant la ressource personnalisée (CR) Backup
.
Il n'est pas nécessaire de spécifier un emplacement d'instantané dans le CR DataProtectionApplication
.
Restic ne prend pas en charge la sauvegarde des volumes hostPath
. Pour plus d'informations, voir les limitations supplémentaires de Restic.
Conditions préalables
- Vous devez installer l'opérateur OpenShift API for Data Protection (OADP).
-
Vous ne devez pas désactiver l'installation par défaut de Restic en remplaçant
spec.configuration.restic.enable
parfalse
dans le CRDataProtectionApplication
. -
Le CR
DataProtectionApplication
doit être dans un étatReady
.
Procédure
Modifiez le CR
Backup
, comme dans l'exemple suivant :apiVersion: velero.io/v1 kind: Backup metadata: name: <backup> labels: velero.io/storage-location: default namespace: openshift-adp spec: defaultVolumesToRestic: true 1 ...
- 1
- Ajouter
defaultVolumesToRestic: true
au blocspec
.
4.4.1.4. Utilisation de Data Mover pour les instantanés CSI
Data Mover for CSI snapshots est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas leur utilisation en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
Le Data Mover de l'OADP 1.1.2 permet aux clients de sauvegarder les instantanés de volume de l'interface de stockage de conteneurs (CSI) dans un magasin d'objets distant. Lorsque le Data Mover est activé, vous pouvez restaurer des applications avec état à partir du magasin en cas de panne, de suppression accidentelle ou de corruption du cluster. La solution OADP 1.1.2 Data Mover utilise l'option Restic de VolSync.
Data Mover ne prend en charge que la sauvegarde et la restauration des instantanés de volumes CSI.
Actuellement, Data Mover ne prend pas en charge les buckets de Google Cloud Storage (GCS).
Conditions préalables
-
Vous avez vérifié que les ressources personnalisées (CR)
StorageClass
etVolumeSnapshotClass
prennent en charge CSI. -
Vous avez vérifié qu'un seul CR
volumeSnapshotClass
porte l'annotationsnapshot.storage.kubernetes.io/is-default-class: true
. -
Vous avez vérifié qu'un seul CR
storageClass
porte l'annotationstorageclass.kubernetes.io/is-default-class: true
. -
Vous avez inclus le label
velero.io/csi-volumesnapshot-class: 'true'
dans votre CRVolumeSnapshotClass
. Vous avez installé l'opérateur VolSync en utilisant le gestionnaire du cycle de vie de l'opérateur (OLM).
NoteL'opérateur VolSync n'est nécessaire que pour l'utilisation du Data Mover de l'aperçu technologique. Il n'est pas nécessaire pour utiliser les fonctions de production de l'OADP.
- Vous avez installé l'opérateur OADP en utilisant OLM.
Procédure
Configurez un secret Restic en créant un fichier
.yaml
comme suit :apiVersion: v1 kind: Secret metadata: name: <secret_name> namespace: openshift-adp type: Opaque stringData: RESTIC_PASSWORD: <secure_restic_password>
NotePar défaut, l'opérateur recherche un secret nommé
dm-credential
. Si vous utilisez un nom différent, vous devez le spécifier dans une application de protection des données (DPA) CR à l'aide dedpa.spec.features.dataMover.credentialName
.Créez un DPA CR similaire à l'exemple suivant. Les plugins par défaut incluent CSI.
Exemple de demande de protection des données (DPA) CR
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: velero-sample namespace: openshift-adp spec: features: dataMover: enable: true credentialName: <secret_name> 1 backupLocations: - velero: config: profile: default region: us-east-1 credential: key: cloud name: cloud-credentials default: true objectStorage: bucket: <bucket_name> prefix: <bucket_prefix> provider: aws configuration: restic: enable: <true_or_false> velero: defaultPlugins: - openshift - aws - csi
- 1
- Ajoutez le nom secret Restic de l'étape précédente. Si cela n'est pas fait, le nom secret par défaut
dm-credential
est utilisé.
L'opérateur OADP installe deux définitions de ressources personnalisées (CRD),
VolumeSnapshotBackup
etVolumeSnapshotRestore
.Exemple
VolumeSnapshotBackup
CRDapiVersion: datamover.oadp.openshift.io/v1alpha1 kind: VolumeSnapshotBackup metadata: name: <vsb_name> namespace: <namespace_name> 1 spec: volumeSnapshotContent: name: <snapcontent_name> protectedNamespace: <adp_namespace> resticSecretRef: name: <restic_secret_name>
- 1
- Spécifiez l'espace de noms dans lequel le cliché instantané du volume existe.
Exemple
VolumeSnapshotRestore
CRDapiVersion: datamover.oadp.openshift.io/v1alpha1 kind: VolumeSnapshotRestore metadata: name: <vsr_name> namespace: <namespace_name> 1 spec: protectedNamespace: <protected_ns> 2 resticSecretRef: name: <restic_secret_name> volumeSnapshotMoverBackupRef: sourcePVCData: name: <source_pvc_name> size: <source_pvc_size> resticrepository: <your_restic_repo> volumeSnapshotClassName: <vsclass_name>
Vous pouvez sauvegarder un instantané de volume en procédant comme suit :
Créer un CR de sauvegarde :
apiVersion: velero.io/v1 kind: Backup metadata: name: <backup_name> namespace: <protected_ns> 1 spec: includedNamespaces: - <app_ns> storageLocation: velero-sample-1
- 1
- Indiquez l'espace de noms dans lequel l'opérateur est installé. L'espace de noms par défaut est
openshift-adp
.
Attendez jusqu'à 10 minutes et vérifiez si l'état de
VolumeSnapshotBackup
CR estCompleted
en entrant les commandes suivantes :$ oc get vsb -n <app_ns>
$ oc get vsb <vsb_name> -n <app_ns> -o jsonpath="{.status.phase}"
Un instantané est créé dans le magasin d'objets configuré dans le DPA.
NoteSi l'état de
VolumeSnapshotBackup
CR devientFailed
, reportez-vous aux registres Velero pour le dépannage.
Vous pouvez restaurer un instantané de volume en procédant comme suit :
-
Supprimez l'espace de noms de l'application et le site
volumeSnapshotContent
qui a été créé par le plugin Velero CSI. Créez un CR
Restore
et définissezrestorePVs
commetrue
.Exemple
Restore
CRapiVersion: velero.io/v1 kind: Restore metadata: name: <restore_name> namespace: <protected_ns> spec: backupName: <previous_backup_name> restorePVs: true
Attendez jusqu'à 10 minutes et vérifiez si l'état de
VolumeSnapshotRestore
CR estCompleted
en entrant la commande suivante :$ oc get vsr -n <app_ns>
$ oc get vsr <vsr_name> -n <app_ns> -o jsonpath="{.status.phase}"
Vérifiez si les données et les ressources de votre application ont été restaurées.
NoteSi l'état de
VolumeSnapshotRestore
CR devient "Échec", reportez-vous aux journaux Velero pour le dépannage.
-
Supprimez l'espace de noms de l'application et le site
4.4.1.5. Création de crochets de sauvegarde
Vous créez des crochets de sauvegarde pour exécuter des commandes dans un conteneur d'un pod en modifiant la ressource personnalisée (CR) Backup
.
Pre s'exécutent avant la sauvegarde du pod. Post s'exécutent après la sauvegarde.
Procédure
Ajoutez un crochet au bloc
spec.hooks
du CRBackup
, comme dans l'exemple suivant :apiVersion: velero.io/v1 kind: Backup metadata: name: <backup> namespace: openshift-adp spec: hooks: resources: - name: <hook_name> includedNamespaces: - <namespace> 1 excludedNamespaces: 2 - <namespace> includedResources: [] - pods 3 excludedResources: [] 4 labelSelector: 5 matchLabels: app: velero component: server pre: 6 - exec: container: <container> 7 command: - /bin/uname 8 - -a onError: Fail 9 timeout: 30s 10 post: 11 ...
- 1
- Facultatif : vous pouvez spécifier les espaces de noms auxquels le crochet s'applique. Si cette valeur n'est pas spécifiée, le crochet s'applique à tous les espaces de noms.
- 2
- Facultatif : vous pouvez spécifier des espaces de noms auxquels le crochet ne s'applique pas.
- 3
- Actuellement, les pods sont la seule ressource prise en charge à laquelle les crochets peuvent s'appliquer.
- 4
- Facultatif : vous pouvez spécifier les ressources auxquelles le crochet ne s'applique pas.
- 5
- Facultatif : Ce crochet ne s'applique qu'aux objets correspondant à l'étiquette. Si cette valeur n'est pas spécifiée, le crochet s'applique à tous les espaces de noms.
- 6
- Tableau de crochets à exécuter avant la sauvegarde.
- 7
- Facultatif : si le conteneur n'est pas spécifié, la commande s'exécute dans le premier conteneur du pod.
- 8
- Il s'agit du point d'entrée du conteneur init ajouté.
- 9
- Les valeurs autorisées pour le traitement des erreurs sont
Fail
etContinue
. La valeur par défaut estFail
. - 10
- Facultatif : durée d'attente pour l'exécution des commandes. La valeur par défaut est
30s
. - 11
- Ce bloc définit un tableau de hooks à exécuter après la sauvegarde, avec les mêmes paramètres que les hooks de pré-sauvegarde.
4.4.1.6. Planification des sauvegardes
Vous planifiez les sauvegardes en créant une ressource personnalisée (CR) Schedule
au lieu d'une CR Backup
.
Laissez suffisamment de temps dans votre calendrier de sauvegarde pour qu'une sauvegarde se termine avant qu'une autre ne soit créée.
Par exemple, si la sauvegarde d'un espace de noms prend généralement 10 minutes, ne planifiez pas de sauvegardes plus fréquentes que toutes les 15 minutes.
Conditions préalables
- Vous devez installer l'opérateur OpenShift API for Data Protection (OADP).
-
Le CR
DataProtectionApplication
doit être dans un étatReady
.
Procédure
Récupérer les CR de
backupStorageLocations
:$ oc get backupStorageLocations -n openshift-adp
Exemple de sortie
NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
Créez un CR
Schedule
, comme dans l'exemple suivant :$ cat << EOF | oc apply -f - apiVersion: velero.io/v1 kind: Schedule metadata: name: <schedule> namespace: openshift-adp spec: schedule: 0 7 * * * 1 template: hooks: {} includedNamespaces: - <namespace> 2 storageLocation: <velero-sample-1> 3 defaultVolumesToRestic: true 4 ttl: 720h0m0s EOF
- 1
cron
expression to schedule the backup, for example,0 7 * * *
to perform a backup every day at 7:00.- 2
- Tableau des espaces de noms à sauvegarder.
- 3
- Nom du CR
backupStorageLocations
. - 4
- Facultatif : Ajoutez la paire clé-valeur
defaultVolumesToRestic: true
si vous sauvegardez des volumes avec Restic.
Vérifiez que l'état de
Schedule
CR estCompleted
après l'exécution de la sauvegarde programmée :$ oc get schedule -n openshift-adp <schedule> -o jsonpath='{.status.phase}'
4.4.1.7. Suppression des sauvegardes
Vous pouvez supprimer les fichiers de sauvegarde en supprimant la ressource personnalisée (CR) Backup
.
Une fois que vous avez supprimé le CR Backup
et les données de stockage d'objets associées, vous ne pouvez pas récupérer les données supprimées.
Conditions préalables
-
Vous avez créé un CR
Backup
. -
Vous connaissez le nom du CR
Backup
et l'espace de noms qui le contient. - Vous avez téléchargé l'outil Velero CLI.
- Vous pouvez accéder au binaire Velero dans votre cluster.
Procédure
Choisissez l'une des actions suivantes pour supprimer le CR
Backup
:Pour supprimer le CR
Backup
et conserver les données de stockage de l'objet associé, exécutez la commande suivante :oc delete backup <backup_CR_name> -n <velero_namespace>
Pour supprimer le CR
Backup
et les données de stockage d'objets associées, exécutez la commande suivante :$ velero backup delete <backup_CR_name> -n <velero_namespace>
Où ?
- <backup_CR_name>
-
Spécifie le nom de la ressource personnalisée
Backup
. - <velero_namespace>
-
Spécifie l'espace de noms qui contient la ressource personnalisée
Backup
.
Ressources complémentaires
4.4.2. Restauration des applications
Vous restaurez les sauvegardes de l'application en créant une ressource personnalisée (CR) à l'adresseRestore
.
Vous pouvez créer des crochets de restauration pour exécuter des commandes dans les conteneurs d'initialisation, avant le démarrage du conteneur d'application ou dans le conteneur d'application lui-même.
4.4.2.1. Création d'un CR de restauration
Vous restaurez une ressource personnalisée (CR) Backup
en créant une CR Restore
.
Conditions préalables
- Vous devez installer l'opérateur OpenShift API for Data Protection (OADP).
-
Le CR
DataProtectionApplication
doit être dans un étatReady
. -
Vous devez avoir un Velero
Backup
CR. - Ajustez la taille demandée pour que la capacité du volume persistant (PV) corresponde à la taille demandée au moment de la sauvegarde.
Procédure
Créez un CR
Restore
, comme dans l'exemple suivant :apiVersion: velero.io/v1 kind: Restore metadata: name: <restore> namespace: openshift-adp spec: backupName: <backup> 1 includedResources: [] 2 excludedResources: - nodes - events - events.events.k8s.io - backups.velero.io - restores.velero.io - resticrepositories.velero.io restorePVs: true
Vérifiez que l'état du CR
Restore
estCompleted
en entrant la commande suivante :$ oc get restore -n openshift-adp <restore> -o jsonpath='{.status.phase}'
Vérifiez que les ressources de sauvegarde ont été restaurées en entrant la commande suivante :
$ oc get all -n <namespace> 1
- 1
- Namespace que vous avez sauvegardé.
Si vous utilisez Restic pour restaurer les objets
DeploymentConfig
ou si vous utilisez des crochets post-restauration, exécutez le script de nettoyagedc-restic-post-restore.sh
en entrant la commande suivante :bash dc-restic-post-restore.sh <restore-name>
NoteAu cours du processus de restauration, les plug-ins OADP Velero réduisent les objets
DeploymentConfig
et restaurent les pods en tant que pods autonomes pour éviter que le cluster ne supprime les podsDeploymentConfig
restaurés immédiatement après la restauration et pour permettre aux hooks Restic et post-restauration de terminer leurs actions sur les pods restaurés. Le script de nettoyage supprime ces pods déconnectés et met à l'échelle tous les objetsDeploymentConfig
jusqu'au nombre approprié de répliques.Exemple 4.1.
dc-restic-post-restore.sh
script de nettoyage#!/bin/bash set -e # if sha256sum exists, use it to check the integrity of the file if command -v sha256sum >/dev/null 2>&1; then CHECKSUM_CMD="sha256sum" else CHECKSUM_CMD="shasum -a 256" fi label_name () { if [ "${#1}" -le "63" ]; then echo $1 return fi sha=$(echo -n $1|$CHECKSUM_CMD) echo "${1:0:57}${sha:0:6}" } OADP_NAMESPACE=${OADP_NAMESPACE:=openshift-adp} if [[ $# -ne 1 ]]; then echo "usage: ${BASH_SOURCE} restore-name" exit 1 fi echo using OADP Namespace $OADP_NAMESPACE echo restore: $1 label=$(label_name $1) echo label: $label echo Deleting disconnected restore pods oc delete pods -l oadp.openshift.io/disconnected-from-dc=$label for dc in $(oc get dc --all-namespaces -l oadp.openshift.io/replicas-modified=$label -o jsonpath='{range .items[*]}{.metadata.namespace}{","}{.metadata.name}{","}{.metadata.annotations.oadp\.openshift\.io/original-replicas}{","}{.metadata.annotations.oadp\.openshift\.io/original-paused}{"\n"}') do IFS=',' read -ra dc_arr <<< "$dc" if [ ${#dc_arr[0]} -gt 0 ]; then echo Found deployment ${dc_arr[0]}/${dc_arr[1]}, setting replicas: ${dc_arr[2]}, paused: ${dc_arr[3]} cat <<EOF | oc patch dc -n ${dc_arr[0]} ${dc_arr[1]} --patch-file /dev/stdin spec: replicas: ${dc_arr[2]} paused: ${dc_arr[3]} EOF fi done
4.4.2.2. Création de crochets de restauration
Vous créez des crochets de restauration pour exécuter des commandes dans un conteneur dans un pod tout en restaurant votre application en modifiant la ressource personnalisée (CR) Restore
.
Vous pouvez créer deux types de crochets de restauration :
Un crochet
init
ajoute un conteneur init à un pod pour effectuer des tâches de configuration avant que le conteneur d'application ne démarre.Si vous restaurez une sauvegarde Restic, le conteneur init
restic-wait
est ajouté avant le conteneur init restore hook.-
Un hook
exec
exécute des commandes ou des scripts dans un conteneur d'un pod restauré.
Procédure
Ajoutez un crochet au bloc
spec.hooks
du CRRestore
, comme dans l'exemple suivant :apiVersion: velero.io/v1 kind: Restore metadata: name: <restore> namespace: openshift-adp spec: hooks: resources: - name: <hook_name> includedNamespaces: - <namespace> 1 excludedNamespaces: - <namespace> includedResources: - pods 2 excludedResources: [] labelSelector: 3 matchLabels: app: velero component: server postHooks: - init: initContainers: - name: restore-hook-init image: alpine:latest volumeMounts: - mountPath: /restores/pvc1-vm name: pvc1-vm command: - /bin/ash - -c timeout: 4 - exec: container: <container> 5 command: - /bin/bash 6 - -c - "psql < /backup/backup.sql" waitTimeout: 5m 7 execTimeout: 1m 8 onError: Continue 9
- 1
- Facultatif : Tableau des espaces de noms auxquels le crochet s'applique. Si cette valeur n'est pas spécifiée, le crochet s'applique à tous les espaces de noms.
- 2
- Actuellement, les pods sont la seule ressource prise en charge à laquelle les crochets peuvent s'appliquer.
- 3
- Facultatif : Ce crochet ne s'applique qu'aux objets correspondant au sélecteur d'étiquette.
- 4
- Facultatif : Timeout indique la durée maximale pendant laquelle Velero attend la fin de
initContainers
. - 5
- Facultatif : si le conteneur n'est pas spécifié, la commande s'exécute dans le premier conteneur du pod.
- 6
- Il s'agit du point d'entrée du conteneur init ajouté.
- 7
- Facultatif : durée d'attente pour qu'un conteneur soit prêt. Cette durée doit être suffisante pour que le conteneur démarre et que tous les crochets précédents dans le même conteneur soient terminés. S'il n'est pas défini, le processus de restauration attend indéfiniment.
- 8
- Facultatif : durée d'attente pour l'exécution des commandes. La valeur par défaut est
30s
. - 9
- Les valeurs autorisées pour le traitement des erreurs sont
Fail
etContinue
:-
Continue
: Seuls les échecs de commande sont consignés. -
Fail
: Plus aucun crochet de restauration n'est exécuté dans aucun conteneur, dans aucun pod. Le statut du CRRestore
seraPartiallyFailed
.
-