1.5. Cas d’utilisation OADP


1.5.1.1. Effectuer une sauvegarde avec OADP et ROSA STS

L’exemple suivant d’application hello-world n’a pas de volumes persistants (PVs) attachés. Effectuez une sauvegarde avec l’API OpenShift pour la protection des données (OADP) avec Red Hat OpenShift Service sur AWS (ROSA) STS.

La configuration de l’application de protection des données (DPA) fonctionnera.

  1. Créez une charge de travail pour sauvegarder en exécutant les commandes suivantes:

    $ oc create namespace hello-world
    Copy to Clipboard Toggle word wrap
    $ oc new-app -n hello-world --image=docker.io/openshift/hello-openshift
    Copy to Clipboard Toggle word wrap
  2. Exposez l’itinéraire en exécutant la commande suivante:

    $ oc expose service/hello-openshift -n hello-world
    Copy to Clipboard Toggle word wrap
  3. Assurez-vous que l’application fonctionne en exécutant la commande suivante:

    $ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    Hello OpenShift!
    Copy to Clipboard Toggle word wrap

  4. Sauvegardez la charge de travail en exécutant la commande suivante:

    $ cat << EOF | oc create -f -
      apiVersion: velero.io/v1
      kind: Backup
      metadata:
        name: hello-world
        namespace: openshift-adp
      spec:
        includedNamespaces:
        - hello-world
        storageLocation: ${CLUSTER_NAME}-dpa-1
        ttl: 720h0m0s
    EOF
    Copy to Clipboard Toggle word wrap
  5. Attendez que la sauvegarde soit terminée, puis exécutez la commande suivante:

    $ watch "oc -n openshift-adp get backup hello-world -o json | jq .status"
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    {
      "completionTimestamp": "2022-09-07T22:20:44Z",
      "expiration": "2022-10-07T22:20:22Z",
      "formatVersion": "1.1.0",
      "phase": "Completed",
      "progress": {
        "itemsBackedUp": 58,
        "totalItems": 58
      },
      "startTimestamp": "2022-09-07T22:20:22Z",
      "version": 1
    }
    Copy to Clipboard Toggle word wrap

  6. Effacer la charge de travail de démonstration en exécutant la commande suivante:

    $ oc delete ns hello-world
    Copy to Clipboard Toggle word wrap
  7. Restaurer la charge de travail à partir de la sauvegarde en exécutant la commande suivante:

    $ cat << EOF | oc create -f -
      apiVersion: velero.io/v1
      kind: Restore
      metadata:
        name: hello-world
        namespace: openshift-adp
      spec:
        backupName: hello-world
    EOF
    Copy to Clipboard Toggle word wrap
  8. Attendez que la restauration se termine en exécutant la commande suivante:

    $ watch "oc -n openshift-adp get restore hello-world -o json | jq .status"
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    {
      "completionTimestamp": "2022-09-07T22:25:47Z",
      "phase": "Completed",
      "progress": {
        "itemsRestored": 38,
        "totalItems": 38
      },
      "startTimestamp": "2022-09-07T22:25:28Z",
      "warnings": 9
    }
    Copy to Clipboard Toggle word wrap

  9. Assurez-vous que la charge de travail est restaurée en exécutant la commande suivante:

    $ oc -n hello-world get pods
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME                              READY   STATUS    RESTARTS   AGE
    hello-openshift-9f885f7c6-kdjpj   1/1     Running   0          90s
    Copy to Clipboard Toggle word wrap

  10. Cochez le JSONPath en exécutant la commande suivante:

    $ curl `oc get route/hello-openshift -n hello-world -o jsonpath='{.spec.host}'`
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    Hello OpenShift!
    Copy to Clipboard Toggle word wrap

Note

Consultez la documentation de dépannage de l’équipe OADP pour obtenir des conseils de dépannage.

Dans le cas où vous devez désinstaller l’opérateur OpenShift API for Data Protection (OADP) avec les sauvegardes et le seau S3 de cet exemple, suivez ces instructions.

Procédure

  1. Effacer la charge de travail en exécutant la commande suivante:

    $ oc delete ns hello-world
    Copy to Clipboard Toggle word wrap
  2. Effacer l’application de protection des données (DPA) en exécutant la commande suivante:

    $ oc -n openshift-adp delete dpa ${CLUSTER_NAME}-dpa
    Copy to Clipboard Toggle word wrap
  3. Effacer le stockage en nuage en exécutant la commande suivante:

    $ oc -n openshift-adp delete cloudstorage ${CLUSTER_NAME}-oadp
    Copy to Clipboard Toggle word wrap
    Avertissement

    Dans le cas où cette commande est suspendue, vous devrez peut-être supprimer le finalisateur en exécutant la commande suivante:

    $ oc -n openshift-adp patch cloudstorage ${CLUSTER_NAME}-oadp -p '{"metadata":{"finalizers":null}}' --type=merge
    Copy to Clipboard Toggle word wrap
  4. Lorsque l’opérateur n’est plus requis, retirez-le en exécutant la commande suivante:

    $ oc -n openshift-adp delete subscription oadp-operator
    Copy to Clipboard Toggle word wrap
  5. Enlevez l’espace de noms de l’opérateur:

    $ oc delete ns openshift-adp
    Copy to Clipboard Toggle word wrap
  6. Lorsque les ressources de sauvegarde et de restauration ne sont plus nécessaires, retirez-les du cluster en exécutant la commande suivante:

    $ oc delete backups.velero.io hello-world
    Copy to Clipboard Toggle word wrap
  7. Afin de supprimer les objets de sauvegarde, de restauration et de télécommande dans AWS S3, exécutez la commande suivante:

    $ velero backup delete hello-world
    Copy to Clipboard Toggle word wrap
  8. Lorsque vous n’avez plus besoin des Définitions de ressources personnalisées (CRD), supprimez-les du cluster en exécutant la commande suivante:

    $ for CRD in `oc get crds | grep velero | awk '{print $1}'`; do oc delete crd $CRD; done
    Copy to Clipboard Toggle word wrap
  9. Effacer le seau AWS S3 en exécutant les commandes suivantes:

    $ aws s3 rm s3://${CLUSTER_NAME}-oadp --recursive
    Copy to Clipboard Toggle word wrap
    $ aws s3api delete-bucket --bucket ${CLUSTER_NAME}-oadp
    Copy to Clipboard Toggle word wrap
  10. Détachez la politique du rôle en exécutant la commande suivante:

    $ aws iam detach-role-policy --role-name "${ROLE_NAME}"  --policy-arn "${POLICY_ARN}"
    Copy to Clipboard Toggle word wrap
  11. Supprimez le rôle en exécutant la commande suivante:

    $ aws iam delete-role --role-name "${ROLE_NAME}"
    Copy to Clipboard Toggle word wrap

Ci-dessous est un cas d’utilisation pour utiliser OADP pour restaurer une sauvegarde dans un espace de noms différent.

Restaurer une sauvegarde d’une application en utilisant OADP dans un nouvel espace de noms cible, test-restauration-application. Afin de restaurer une sauvegarde, vous créez une ressource personnalisée de restauration (CR) comme indiqué dans l’exemple suivant. Dans le CR de restauration, l’espace de noms source fait référence à l’espace de noms de l’application que vous avez inclus dans la sauvegarde. Ensuite, vous vérifiez la restauration en changeant votre projet vers le nouvel espace de noms restauré et en vérifiant les ressources.

Conditions préalables

  • L’opérateur OADP a été installé.
  • La sauvegarde d’une application est à restaurer.

Procédure

  1. Créez une restauration CR comme indiqué dans l’exemple suivant:

    Exemple de restauration CR

    apiVersion: velero.io/v1
    kind: Restore
    metadata:
      name: test-restore 
    1
    
      namespace: openshift-adp
    spec:
      backupName: <backup_name> 
    2
    
      restorePVs: true
      namespaceMapping:
        <application_namespace>: test-restore-application 
    3
    Copy to Clipboard Toggle word wrap

    1
    Le nom de la restauration CR.
    2
    Indiquez le nom de la sauvegarde.
    3
    le namespaceMapping mappe l’espace de noms de l’application source à l’espace de noms de l’application cible. Indiquez l’espace de noms de l’application que vous avez sauvegardé. l’application test-restauration est l’espace de noms cible où vous souhaitez restaurer la sauvegarde.
  2. Appliquez le CR de restauration en exécutant la commande suivante:

    $ oc apply -f <restore_cr_filename>
    Copy to Clipboard Toggle word wrap

La vérification

  1. Assurez-vous que la restauration est en phase terminée en exécutant la commande suivante:

    $ oc describe restores.velero.io <restore_name> -n openshift-adp
    Copy to Clipboard Toggle word wrap
  2. Changer l’application de test-restauration de l’espace de noms restaurée en exécutant la commande suivante:

    $ oc project test-restore-application
    Copy to Clipboard Toggle word wrap
  3. Contrôlez les ressources restaurées telles que la revendication de volume persistant (pvc), le service (svc), le déploiement, le secret et la carte de configuration en exécutant la commande suivante:

    $ oc get pvc,svc,deployment,secret,configmap
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME                          STATUS   VOLUME
    persistentvolumeclaim/mysql   Bound    pvc-9b3583db-...-14b86
    
    NAME               TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
    service/mysql      ClusterIP   172....157     <none>        3306/TCP   2m56s
    service/todolist   ClusterIP   172.....15     <none>        8000/TCP   2m56s
    
    NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/mysql   0/1     1            0           2m55s
    
    NAME                                         TYPE                      DATA   AGE
    secret/builder-dockercfg-6bfmd               kubernetes.io/dockercfg   1      2m57s
    secret/default-dockercfg-hz9kz               kubernetes.io/dockercfg   1      2m57s
    secret/deployer-dockercfg-86cvd              kubernetes.io/dockercfg   1      2m57s
    secret/mysql-persistent-sa-dockercfg-rgp9b   kubernetes.io/dockercfg   1      2m57s
    
    NAME                                 DATA   AGE
    configmap/kube-root-ca.crt           1      2m57s
    configmap/openshift-service-ca.crt   1      2m57s
    Copy to Clipboard Toggle word wrap

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat