Chapitre 15. Sauvegarde et restauration
15.1. Installation et configuration de l'OADP
En tant qu'administrateur de cluster, vous installez l'API OpenShift pour la protection des données (OADP) en installant l'opérateur OADP. L'opérateur installe Velero 1.9.
Vous créez une adresse Secret
par défaut pour votre fournisseur de stockage de sauvegarde, puis vous installez l'application de protection des données.
15.1.1. Installation de l'opérateur OADP
Vous installez l'opérateur OpenShift API for Data Protection (OADP) sur OpenShift Container Platform 4.12 en utilisant Operator Lifecycle Manager (OLM).
L'opérateur OADP installe Velero 1.9.
Conditions préalables
-
Vous devez être connecté en tant qu’utilisateur avec les privilèges
cluster-admin
.
Procédure
-
Dans la console Web OpenShift Container Platform, cliquez sur Operators
OperatorHub. - Utilisez le champ Filter by keyword pour trouver le OADP Operator.
- Sélectionnez le site OADP Operator et cliquez sur Install.
-
Cliquez sur Install pour installer l'opérateur dans le projet
openshift-adp
. -
Cliquez sur Operators
Installed Operators pour vérifier l'installation.
15.1.2. A propos des emplacements de sauvegarde et d'instantané et de leurs secrets
Vous spécifiez les emplacements de sauvegarde et d'instantané ainsi que leurs secrets dans la ressource personnalisée (CR) DataProtectionApplication
.
Emplacements de sauvegarde
Vous spécifiez un stockage d'objets compatible S3, tel que Multicloud Object Gateway, Noobaa ou Minio, en tant qu'emplacement de sauvegarde.
Velero sauvegarde les ressources d'OpenShift Container Platform, les objets Kubernetes et les images internes en tant que fichier d'archive sur le stockage d'objets.
Lieux de l'instantané
Si vous utilisez l'API d'instantané native de votre fournisseur de cloud computing pour sauvegarder des volumes persistants, vous devez spécifier le fournisseur de cloud computing comme emplacement d'instantané.
Si vous utilisez des instantanés de l'interface de stockage de conteneurs (CSI), vous n'avez pas besoin de spécifier un emplacement d'instantané car vous créerez un CR VolumeSnapshotClass
pour enregistrer le pilote CSI.
Si vous utilisez Restic, vous n'avez pas besoin de spécifier un emplacement d'instantané car Restic sauvegarde le système de fichiers sur le stockage objet.
Secrets
Si les emplacements de sauvegarde et d'instantané utilisent les mêmes informations d'identification ou si vous n'avez pas besoin d'un emplacement d'instantané, vous créez un emplacement par défaut Secret
.
Si les emplacements de sauvegarde et d'instantané utilisent des informations d'identification différentes, vous créez deux objets secrets :
-
Secret
personnalisé pour l'emplacement de sauvegarde, que vous spécifiez dans le CRDataProtectionApplication
. -
Secret
par défaut pour l'emplacement de l'instantané, qui n'est pas référencé dans le CRDataProtectionApplication
.
L'application de protection des données nécessite une adresse par défaut Secret
. Dans le cas contraire, l'installation échouera.
Si vous ne souhaitez pas spécifier d'emplacements de sauvegarde ou d'instantanés lors de l'installation, vous pouvez créer un site Secret
par défaut avec un fichier credentials-velero
vide.
15.1.2.1. Création d'un secret par défaut
Vous créez un site Secret
par défaut si vos emplacements de sauvegarde et de cliché utilisent les mêmes informations d'identification ou si vous n'avez pas besoin d'un emplacement de cliché.
La ressource personnalisée (CR) DataProtectionApplication
nécessite une ressource par défaut Secret
. Sinon, l'installation échouera. Si le nom de l'emplacement de sauvegarde Secret
n'est pas spécifié, le nom par défaut est utilisé.
Si vous ne souhaitez pas utiliser les informations d'identification de l'emplacement de sauvegarde lors de l'installation, vous pouvez créer un site Secret
avec le nom par défaut en utilisant un fichier credentials-velero
vide.
Conditions préalables
- Votre stockage d'objets et votre stockage en nuage, le cas échéant, doivent utiliser les mêmes informations d'identification.
- Vous devez configurer le stockage d'objets pour Velero.
-
Vous devez créer un fichier
credentials-velero
pour le stockage d'objets dans le format approprié.
Procédure
Créez un site
Secret
avec le nom par défaut :$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
Le site Secret
est référencé dans le bloc spec.backupLocations.credential
de la CR DataProtectionApplication
lorsque vous installez l'application de protection des données.
15.1.3. Configuration de l'application de protection des données
Vous pouvez configurer l'application de protection des données en définissant les allocations de ressources Velero ou en activant les certificats CA auto-signés.
15.1.3.1. Paramétrage de l'allocation des ressources CPU et mémoire de Velero
Vous définissez les allocations de ressources CPU et mémoire pour le pod Velero
en modifiant le manifeste de ressources personnalisées (CR) DataProtectionApplication
.
Conditions préalables
- L'opérateur OpenShift API for Data Protection (OADP) doit être installé.
Procédure
Modifiez les valeurs dans le bloc
spec.configuration.velero.podConfig.ResourceAllocations
du manifesteDataProtectionApplication
CR, comme dans l'exemple suivant :apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_sample> spec: ... configuration: velero: podConfig: nodeSelector: <node selector> 1 resourceAllocations: limits: cpu: "1" memory: 512Mi requests: cpu: 500m memory: 256Mi
- 1
- Spécifier le sélecteur de nœud à fournir à Velero podSpec
15.1.3.2. Activation des certificats CA auto-signés
Vous devez activer un certificat CA auto-signé pour le stockage d'objets en modifiant le manifeste de ressources personnalisées (CR) DataProtectionApplication
afin d'éviter une erreur certificate signed by unknown authority
.
Conditions préalables
- L'opérateur OpenShift API for Data Protection (OADP) doit être installé.
Procédure
Modifier les paramètres
spec.backupLocations.velero.objectStorage.caCert
etspec.backupLocations.velero.config
du manifesteDataProtectionApplication
CR :apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_sample> spec: ... backupLocations: - name: default velero: provider: aws default: true objectStorage: bucket: <bucket> prefix: <prefix> caCert: <base64_encoded_cert_string> 1 config: insecureSkipTLSVerify: "false" 2 ...
15.1.4. Installation de l'application de protection des données
Vous installez l'application de protection des données (DPA) en créant une instance de l'API DataProtectionApplication
.
Conditions préalables
- Vous devez installer l'opérateur OADP.
- Vous devez configurer le stockage d'objets comme emplacement de sauvegarde.
- Si vous utilisez des instantanés pour sauvegarder des PV, votre fournisseur de cloud computing doit prendre en charge une API d'instantanés native ou des instantanés de l'interface de stockage de conteneurs (CSI).
-
Si les emplacements de sauvegarde et d'instantané utilisent les mêmes informations d'identification, vous devez créer un site
Secret
avec le nom par défaut,cloud-credentials
. Si les emplacements de sauvegarde et de cliché utilisent des informations d'identification différentes, vous devez créer deux sites
Secrets
:-
Secret
avec un nom personnalisé pour l'emplacement de la sauvegarde. Vous ajoutez ceSecret
au CRDataProtectionApplication
. Secret
avec le nom par défaut,cloud-credentials
, pour l'emplacement de l'instantané. Ce siteSecret
n'est pas référencé dans le CRDataProtectionApplication
.NoteSi vous ne souhaitez pas spécifier d'emplacements de sauvegarde ou d'instantanés lors de l'installation, vous pouvez créer une adresse
Secret
par défaut avec un fichiercredentials-velero
vide. S'il n'y a pas deSecret
par défaut, l'installation échouera.
-
Procédure
-
Cliquez sur Operators
Installed Operators et sélectionnez l'opérateur OADP. - Sous Provided APIs, cliquez sur Create instance dans la boîte DataProtectionApplication.
Cliquez sur YAML View et mettez à jour les paramètres du manifeste
DataProtectionApplication
:apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_sample> namespace: openshift-adp spec: configuration: velero: defaultPlugins: - kubevirt 1 - gcp 2 - csi 3 - openshift 4 restic: enable: true 5 podConfig: nodeSelector: <node selector> 6 backupLocations: - velero: provider: gcp 7 default: true credential: key: cloud name: <default_secret> 8 objectStorage: bucket: <bucket_name> 9 prefix: <prefix> 10
- 1
- Le plugin
kubevirt
est obligatoire pour OpenShift Virtualization. - 2
- Indiquez le plugin du fournisseur de sauvegarde, par exemple
gcp
, s'il existe. - 3
- Le plugin
csi
est obligatoire pour sauvegarder les PV avec des instantanés CSI. Le plugincsi
utilise les API d'instantanés Velero CSI beta. Il n'est pas nécessaire de configurer un emplacement d'instantané. - 4
- Le plugin
openshift
est obligatoire. - 5
- Définissez
false
si vous souhaitez désactiver l'installation de Restic. Restic déploie un ensemble de démons, ce qui signifie que chaque nœud de travailleur a des podsRestic
en cours d'exécution. Vous configurez Restic pour les sauvegardes en ajoutantspec.defaultVolumesToRestic: true
au CRBackup
. - 6
- Spécifier le sélecteur de nœuds à fournir à Restic podSpec
- 7
- Spécifiez le fournisseur de sauvegarde.
- 8
- Si vous utilisez un plugin par défaut pour le fournisseur de sauvegarde, vous devez spécifier le nom par défaut correct pour
Secret
, par exemple,cloud-credentials-gcp
. Si vous spécifiez un nom personnalisé, celui-ci est utilisé pour l'emplacement de sauvegarde. Si vous n'indiquez pas de nomSecret
, le nom par défaut est utilisé. - 9
- Spécifiez un bac comme emplacement de stockage des sauvegardes. Si le bac n'est pas un bac dédié aux sauvegardes Velero, vous devez spécifier un préfixe.
- 10
- Spécifiez un préfixe pour les sauvegardes Velero, par exemple,
velero
, si le seau est utilisé à des fins multiples.
- Cliquez sur Create.
Vérifiez l'installation en consultant les ressources de l'OADP :
$ oc get all -n openshift-adp
Exemple de sortie
NAME READY STATUS RESTARTS AGE pod/oadp-operator-controller-manager-67d9494d47-6l8z8 2/2 Running 0 2m8s pod/restic-9cq4q 1/1 Running 0 94s pod/restic-m4lts 1/1 Running 0 94s pod/restic-pv4kr 1/1 Running 0 95s pod/velero-588db7f655-n842v 1/1 Running 0 95s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/oadp-operator-controller-manager-metrics-service ClusterIP 172.30.70.140 <none> 8443/TCP 2m8s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/restic 3 3 3 3 3 <none> 96s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/oadp-operator-controller-manager 1/1 1 1 2m9s deployment.apps/velero 1/1 1 1 96s NAME DESIRED CURRENT READY AGE replicaset.apps/oadp-operator-controller-manager-67d9494d47 1 1 1 2m9s replicaset.apps/velero-588db7f655 1 1 1 96s
15.1.4.1. Activation de l'ISC dans l'application de protection des données CR
Vous activez l'interface de stockage de conteneurs (CSI) dans la ressource personnalisée (CR) DataProtectionApplication
afin de sauvegarder des volumes persistants à l'aide d'instantanés CSI.
Conditions préalables
- Le fournisseur de services en nuage doit prendre en charge les instantanés CSI.
Procédure
Modifiez le CR
DataProtectionApplication
, comme dans l'exemple suivant :apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication ... spec: configuration: velero: defaultPlugins: - openshift - csi 1
- 1
- Ajouter le plugin par défaut
csi
.
15.1.5. Désinstallation de l'OADP
Vous désinstallez OpenShift API for Data Protection (OADP) en supprimant l'opérateur OADP. Pour plus d'informations, reportez-vous à la section Suppression des opérateurs d'un cluster.