4.3. Installation et configuration de l'OADP
4.3.1. A propos de l'installation 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 OADP installe Velero 1.9.
À partir d'OADP 1.0.4, toutes les versions d'OADP 1.0.z ne peuvent être utilisées qu'en tant que dépendance de l'opérateur MTC et ne sont pas disponibles en tant qu'opérateur autonome.
Pour sauvegarder les ressources Kubernetes et les images internes, vous devez disposer d'un stockage d'objets comme emplacement de sauvegarde, tel que l'un des types de stockage suivants :
- Amazon Web Services
- Microsoft Azure
- Google Cloud Platform
- Passerelle d'objets multicloud
- Stockage d'objets compatible S3, tel que Noobaa ou Minio
L'API CloudStorage
, qui automatise la création d'un godet pour le stockage d'objets, est une fonctionnalité de l'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.
Vous pouvez sauvegarder des volumes persistants (PV) à l'aide d'instantanés ou de Restic.
Pour sauvegarder des PV à l'aide d'instantanés, vous devez disposer d'un fournisseur de cloud qui prend en charge une API d'instantanés native ou des instantanés de l'interface de stockage de conteneurs (CSI), comme l'un des fournisseurs de cloud suivants :
- Amazon Web Services
- Microsoft Azure
- Google Cloud Platform
- Fournisseur de services en nuage CSI compatible avec les instantanés, tel qu'OpenShift Data Foundation
Si vous souhaitez utiliser la sauvegarde CSI sur l'OCP 4.11 et les versions ultérieures, installez l'OADP 1.1.x.
OADP 1.0.x ne prend pas en charge la sauvegarde CSI sur OCP 4.11 et les versions ultérieures. OADP 1.0.x inclut Velero 1.7.x et attend le groupe API snapshot.storage.k8s.io/v1beta1
, qui n'est pas présent sur l'OCP 4.11 et les versions ultérieures.
Si votre fournisseur de cloud computing ne prend pas en charge les instantanés ou si votre stockage est de type NFS, vous pouvez sauvegarder des applications avec des sauvegardes Restic sur un stockage d'objets.
Vous créez un site Secret
par défaut, puis vous installez l'application de protection des données.
4.3.1.1. Configurer NooBaa pour la reprise après sinistre sur OpenShift Data Foundation
Si vous utilisez le stockage en cluster pour votre bucket NooBaa backupStorageLocation
sur OpenShift Data Foundation, configurez NooBaa en tant que magasin d'objets externe.
Si NooBaa n'est pas configuré comme un magasin d'objets externe, les sauvegardes risquent de ne pas être disponibles.
Procédure
- Configurez NooBaa en tant que magasin d'objets externe comme décrit dans Ajouter des ressources de stockage pour l'hybride ou le Multicloud.
Ressources complémentaires
4.3.1.2. À propos des canaux de mise à jour de l'OADP
Lorsque vous installez un opérateur OADP, vous choisissez un canal update channel. Ce canal détermine les mises à jour de l'opérateur OADP et de Velero que vous recevez. Vous pouvez changer de canal à tout moment.
Il existe trois canaux de mise à jour :
-
Le canal stable contient les dernières mises à jour mineures (y-stream updates) et les correctifs (z-stream updates) de OADP ClusterServiceVersion`. Au fur et à mesure de la publication de chaque nouvelle version, le site
ClusterServiceVersion
de l'opérateur OADP sera complété par le dernier correctif mineur disponible. -
Le canal stable-1.0 contient
oadp.v1.0.z
la version la plus récente de l'OADP 1.0ClusterServiceVersion
. -
Le canal stable-1.1 contient
oadp.v1.1.z
la version la plus récente de l'OADP 1.1ClusterServiceVersion
.
Which update channel is right for you?
- Choisissez le canal de mise à jour stable pour installer la dernière version stable de l'OADP et recevoir les mises à jour mineures et les correctifs. Si vous choisissez ce canal, vous recevrez toutes les mises à jour y-stream et toutes les mises à jour z-stream de la version x.y.z.
- Choisissez le canal de mise à jour stable-1.y update channel pour installer OADP 1.y et continuer à recevoir les correctifs. Si vous choisissez ce canal, vous recevrez tous les correctifs z-stream pour la version 1.y.z.
When must you switch update channels?
- Si vous avez installé OADP 1.y et que vous souhaitez recevoir des correctifs uniquement pour ce flux, vous devez passer du canal de mise à jour stable au canal de mise à jour stable-1.y canal de mise à jour. Vous recevrez alors tous les correctifs du flux z pour la version 1.y.z.
- Si vous avez installé OADP 1.0, que vous souhaitez passer à OADP 1.1 et recevoir des correctifs uniquement pour OADP 1.1, vous devez passer du canal de mise à jour stable-1.0 au canal de mise à jour stable-1.1. Vous recevrez alors tous les correctifs z-stream pour la version 1.1.z.
- Si vous avez installé OADP 1.y, avec y supérieur à 0, et que vous souhaitez passer à OADP 1.0, vous devez uninstall votre opérateur OADP et le réinstaller en utilisant le canal de mise à jour stable-1.0. Vous recevrez alors tous les correctifs z-stream pour la version 1.0.z.
Vous ne pouvez pas passer de l'OADP 1.y à l'OADP 1.0 en changeant de canal de mise à jour. Vous devez désinstaller l'opérateur et le réinstaller.
Ressources complémentaires
4.3.2. Installation et configuration d'OpenShift API for Data Protection avec Amazon Web Services
Vous installez OpenShift API for Data Protection (OADP) avec Amazon Web Services (AWS) en installant l'opérateur OADP. L'opérateur installe Velero 1.9.
À partir d'OADP 1.0.4, toutes les versions d'OADP 1.0.z ne peuvent être utilisées qu'en tant que dépendance de l'opérateur MTC et ne sont pas disponibles en tant qu'opérateur autonome.
Vous configurez AWS pour Velero, créez une adresse Secret
par défaut, puis installez l'application de protection des données.
Pour installer l'OADP Operator dans un environnement réseau restreint, vous devez d'abord désactiver les sources OperatorHub par défaut et mettre en miroir le catalogue Operator. Voir Utilisation d'Operator Lifecycle Manager sur des réseaux restreints pour plus de détails.
4.3.2.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 des privilèges
cluster-admin
.
Procédure
-
Dans la console web d'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.
4.3.2.2. Configuration d'Amazon Web Services
Vous configurez Amazon Web Services (AWS) pour OpenShift API for Data Protection (OADP).
Conditions préalables
- Le logiciel AWS CLI doit être installé.
Procédure
Définir la variable
BUCKET
:$ BUCKET=<your_bucket>
Définir la variable
REGION
:$ REGION=<your_region>
Créez un seau AWS S3 :
$ aws s3api create-bucket \ --bucket $BUCKET \ --region $REGION \ --create-bucket-configuration LocationConstraint=$REGION 1
- 1
us-east-1
ne prend pas en chargeLocationConstraint
. Si votre région estus-east-1
, omettez--create-bucket-configuration LocationConstraint=$REGION
.
Créer un utilisateur IAM :
aws iam create-user --user-name velero 1
- 1
- Si vous souhaitez utiliser Velero pour sauvegarder plusieurs clusters avec plusieurs buckets S3, créez un nom d'utilisateur unique pour chaque cluster.
Créer un fichier
velero-policy.json
:$ cat > velero-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ec2:CreateTags", "ec2:CreateVolume", "ec2:CreateSnapshot", "ec2:DeleteSnapshot" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:DeleteObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::${BUCKET}/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::${BUCKET}" ] } ] } EOF
Attachez les politiques pour donner à l'utilisateur
velero
les permissions minimales nécessaires :$ aws iam put-user-policy \ --user-name velero \ --policy-name velero \ --policy-document file://velero-policy.json
Créer une clé d'accès pour l'utilisateur
velero
:$ aws iam create-access-key --user-name velero
Exemple de sortie
{ "AccessKey": { "UserName": "velero", "Status": "Active", "CreateDate": "2017-07-31T22:24:41.576Z", "SecretAccessKey": <AWS_SECRET_ACCESS_KEY>, "AccessKeyId": <AWS_ACCESS_KEY_ID> } }
Créer un fichier
credentials-velero
:$ cat << EOF > ./credentials-velero [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> EOF
Vous utilisez le fichier
credentials-velero
pour créer un objetSecret
pour AWS avant d'installer l'application de protection des données.
4.3.2.3. 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.
4.3.2.3.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é.
Le nom par défaut du site Secret
est cloud-credentials
.
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.
4.3.2.3.2. Création de profils pour différentes informations d'identification
Si vos emplacements de sauvegarde et d'instantané utilisent des identifiants différents, vous créez des profils distincts dans le fichier credentials-velero
.
Ensuite, vous créez un objet Secret
et spécifiez les profils dans la ressource personnalisée (CR) DataProtectionApplication
.
Procédure
Créez un fichier
credentials-velero
avec des profils distincts pour les emplacements de sauvegarde et d'instantané, comme dans l'exemple suivant :[backupStorage] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> [volumeSnapshot] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
Créer un objet
Secret
avec le fichiercredentials-velero
:oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero 1
Ajoutez les profils au CR
DataProtectionApplication
, comme dans l'exemple suivant :apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_sample> namespace: openshift-adp spec: ... backupLocations: - name: default velero: provider: aws default: true objectStorage: bucket: <bucket_name> prefix: <prefix> config: region: us-east-1 profile: "backupStorage" credential: key: cloud name: cloud-credentials snapshotLocations: - name: default velero: provider: aws config: region: us-west-2 profile: "volumeSnapshot"
4.3.2.4. 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.
4.3.2.4.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
4.3.2.4.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 ...
4.3.2.5. 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 d'instantané utilisent des informations d'identification différentes, vous devez créer un site
Secret
avec le nom par défaut,cloud-credentials
, qui contient des profils distincts pour les informations d'identification de l'emplacement de sauvegarde et de l'emplacement d'instantané.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: - openshift 1 - aws restic: enable: true 2 podConfig: nodeSelector: <node selector> 3 backupLocations: - name: default velero: provider: aws default: true objectStorage: bucket: <bucket_name> 4 prefix: <prefix> 5 config: region: <region> profile: "default" credential: key: cloud name: cloud-credentials 6 snapshotLocations: 7 - name: default velero: provider: aws config: region: <region> 8 profile: "default"
- 1
- Le plugin
openshift
est obligatoire. - 2
- 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
. - 3
- Spécifie le sélecteur de nœud à fournir à Restic podSpec.
- 4
- 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.
- 5
- Spécifiez un préfixe pour les sauvegardes Velero, par exemple,
velero
, si le seau est utilisé à des fins multiples. - 6
- Indiquez le nom de l'objet
Secret
que vous avez créé. Si vous ne spécifiez pas cette valeur, le nom par défaut,cloud-credentials
, est utilisé. Si vous spécifiez un nom personnalisé, celui-ci est utilisé pour l'emplacement de sauvegarde. - 7
- Il n'est pas nécessaire de spécifier un emplacement d'instantané si vous utilisez des instantanés CSI ou Restic pour sauvegarder des PV.
- 8
- L'emplacement de l'instantané doit être situé dans la même région que les PV.
- 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
4.3.2.5.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
.
4.3.3. Installation et configuration de l'API OpenShift pour la protection des données avec Microsoft Azure
Vous installez OpenShift API for Data Protection (OADP) avec Microsoft Azure en installant l'opérateur OADP. L'opérateur installe Velero 1.9.
À partir d'OADP 1.0.4, toutes les versions d'OADP 1.0.z ne peuvent être utilisées qu'en tant que dépendance de l'opérateur MTC et ne sont pas disponibles en tant qu'opérateur autonome.
Vous configurez Azure pour Velero, créez un site par défaut Secret
, puis installez l'application de protection des données.
Pour installer l'OADP Operator dans un environnement réseau restreint, vous devez d'abord désactiver les sources OperatorHub par défaut et mettre en miroir le catalogue Operator. Voir Utilisation d'Operator Lifecycle Manager sur des réseaux restreints pour plus de détails.
4.3.3.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 des privilèges
cluster-admin
.
Procédure
-
Dans la console web d'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.
4.3.3.2. Configuration de Microsoft Azure
Vous configurez un Microsoft Azure pour l'OpenShift API for Data Protection (OADP).
Conditions préalables
- Le logiciel Azure CLI doit être installé.
Procédure
Connectez-vous à Azure :
$ az login
Définir la variable
AZURE_RESOURCE_GROUP
:$ AZURE_RESOURCE_GROUP=Velero_Backups
Créez un groupe de ressources Azure :
$ az group create -n $AZURE_RESOURCE_GROUP --location CentralUS 1
- 1
- Précisez votre lieu de résidence.
Définir la variable
AZURE_STORAGE_ACCOUNT_ID
:$ AZURE_STORAGE_ACCOUNT_ID="velero$(uuidgen | cut -d '-' -f5 | tr '[A-Z]' '[a-z]')"
Créez un compte de stockage Azure :
$ az storage account create \ --name $AZURE_STORAGE_ACCOUNT_ID \ --resource-group $AZURE_RESOURCE_GROUP \ --sku Standard_GRS \ --encryption-services blob \ --https-only true \ --kind BlobStorage \ --access-tier Hot
Définir la variable
BLOB_CONTAINER
:$ BLOB_CONTAINER=velero
Créez un conteneur de stockage Azure Blob :
$ az storage container create \ -n $BLOB_CONTAINER \ --public-access off \ --account-name $AZURE_STORAGE_ACCOUNT_ID
Obtenir la clé d'accès au compte de stockage :
$ AZURE_STORAGE_ACCOUNT_ACCESS_KEY=`az storage account keys list \ --account-name $AZURE_STORAGE_ACCOUNT_ID \ --query "[?keyName == 'key1'].value" -o tsv`
Créez un rôle personnalisé doté des autorisations minimales requises :
AZURE_ROLE=Velero az role definition create --role-definition '{ "Name": "'$AZURE_ROLE'", "Description": "Velero related permissions to perform backups, restores and deletions", "Actions": [ "Microsoft.Compute/disks/read", "Microsoft.Compute/disks/write", "Microsoft.Compute/disks/endGetAccess/action", "Microsoft.Compute/disks/beginGetAccess/action", "Microsoft.Compute/snapshots/read", "Microsoft.Compute/snapshots/write", "Microsoft.Compute/snapshots/delete", "Microsoft.Storage/storageAccounts/listkeys/action", "Microsoft.Storage/storageAccounts/regeneratekey/action" ], "AssignableScopes": ["/subscriptions/'$AZURE_SUBSCRIPTION_ID'"] }'
Créer un fichier
credentials-velero
:$ cat << EOF > ./credentials-velero AZURE_SUBSCRIPTION_ID=${AZURE_SUBSCRIPTION_ID} AZURE_TENANT_ID=${AZURE_TENANT_ID} AZURE_CLIENT_ID=${AZURE_CLIENT_ID} AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET} AZURE_RESOURCE_GROUP=${AZURE_RESOURCE_GROUP} AZURE_STORAGE_ACCOUNT_ACCESS_KEY=${AZURE_STORAGE_ACCOUNT_ACCESS_KEY} 1 AZURE_CLOUD_NAME=AzurePublicCloud EOF
- 1
- Obligatoire. Vous ne pouvez pas sauvegarder les images internes si le fichier
credentials-velero
ne contient que les informations d'identification du principal du service.
Vous utilisez le fichier
credentials-velero
pour créer un objetSecret
pour Azure avant d'installer l'application de protection des données.
4.3.3.3. 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.
4.3.3.3.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é.
Le nom par défaut du site Secret
est cloud-credentials-azure
.
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-azure -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.
4.3.3.3.2. Création de secrets pour différentes informations d'identification
Si vos emplacements de sauvegarde et de snapshot utilisent des identifiants différents, vous devez créer deux objets Secret
:
-
Sauvegarde de l'emplacement
Secret
avec un nom personnalisé. Le nom personnalisé est spécifié dans le blocspec.backupLocations
de la ressource personnalisée (CR)DataProtectionApplication
. -
Emplacement de l'instantané
Secret
avec le nom par défaut,cloud-credentials-azure
. Cette adresseSecret
n'est pas spécifiée dans la CRDataProtectionApplication
.
Procédure
-
Créez un fichier
credentials-velero
pour l'emplacement de l'instantané dans le format approprié pour votre fournisseur de cloud. Créez un site
Secret
pour l'emplacement de l'instantané avec le nom par défaut :$ oc create secret generic cloud-credentials-azure -n openshift-adp --from-file cloud=credentials-velero
-
Créez un fichier
credentials-velero
pour l'emplacement de sauvegarde dans le format approprié pour votre stockage d'objets. Créez une adresse
Secret
pour l'emplacement de sauvegarde avec un nom personnalisé :oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
Ajoutez le
Secret
avec le nom personnalisé auDataProtectionApplication
CR, comme dans l'exemple suivant :apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_sample> namespace: openshift-adp spec: ... backupLocations: - velero: config: resourceGroup: <azure_resource_group> storageAccount: <azure_storage_account_id> subscriptionId: <azure_subscription_id> storageAccountKeyEnvVar: AZURE_STORAGE_ACCOUNT_ACCESS_KEY credential: key: cloud name: <custom_secret> 1 provider: azure default: true objectStorage: bucket: <bucket_name> prefix: <prefix> snapshotLocations: - velero: config: resourceGroup: <azure_resource_group> subscriptionId: <azure_subscription_id> incremental: "true" name: default provider: azure
- 1
- Emplacement de la sauvegarde
Secret
avec un nom personnalisé.
4.3.3.4. 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.
4.3.3.4.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
4.3.3.4.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 ...
4.3.3.5. 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-azure
. 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-azure
, 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: - azure - openshift 1 restic: enable: true 2 podConfig: nodeSelector: <node selector> 3 backupLocations: - velero: config: resourceGroup: <azure_resource_group> 4 storageAccount: <azure_storage_account_id> 5 subscriptionId: <azure_subscription_id> 6 storageAccountKeyEnvVar: AZURE_STORAGE_ACCOUNT_ACCESS_KEY credential: key: cloud name: cloud-credentials-azure 7 provider: azure default: true objectStorage: bucket: <bucket_name> 8 prefix: <prefix> 9 snapshotLocations: 10 - velero: config: resourceGroup: <azure_resource_group> subscriptionId: <azure_subscription_id> incremental: "true" name: default provider: azure
- 1
- Le plugin
openshift
est obligatoire. - 2
- 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
. - 3
- Spécifie le sélecteur de nœud à fournir à Restic podSpec.
- 4
- Spécifiez le groupe de ressources Azure.
- 5
- Indiquez l'identifiant du compte de stockage Azure.
- 6
- Indiquez l'identifiant de l'abonnement Azure.
- 7
- Si vous ne spécifiez pas cette valeur, le nom par défaut,
cloud-credentials-azure
, est utilisé. Si vous spécifiez un nom personnalisé, celui-ci est utilisé pour l'emplacement de la sauvegarde. - 8
- 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.
- 9
- Spécifiez un préfixe pour les sauvegardes Velero, par exemple,
velero
, si le seau est utilisé à des fins multiples. - 10
- Il n'est pas nécessaire de spécifier un emplacement d'instantané si vous utilisez des instantanés CSI ou Restic pour sauvegarder des PV.
- 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
4.3.3.5.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
.
4.3.4. Installation et configuration de l'API OpenShift pour la protection des données avec Google Cloud Platform
Vous installez OpenShift API for Data Protection (OADP) avec Google Cloud Platform (GCP) en installant l'opérateur OADP. L'opérateur installe Velero 1.9.
À partir d'OADP 1.0.4, toutes les versions d'OADP 1.0.z ne peuvent être utilisées qu'en tant que dépendance de l'opérateur MTC et ne sont pas disponibles en tant qu'opérateur autonome.
Vous configurez GCP pour Velero, créez une adresse Secret
par défaut, puis installez l'application de protection des données.
Pour installer l'OADP Operator dans un environnement réseau restreint, vous devez d'abord désactiver les sources OperatorHub par défaut et mettre en miroir le catalogue Operator. Voir Utilisation d'Operator Lifecycle Manager sur des réseaux restreints pour plus de détails.
4.3.4.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 des privilèges
cluster-admin
.
Procédure
-
Dans la console web d'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.
4.3.4.2. Configuration de Google Cloud Platform
Vous configurez Google Cloud Platform (GCP) pour OpenShift API for Data Protection (OADP).
Conditions préalables
-
Les outils
gcloud
etgsutil
CLI doivent être installés. Voir la documentation de Google Cloud pour plus de détails.
Procédure
Connectez-vous à GCP :
$ gcloud auth login
Définir la variable
BUCKET
:bUCKET=<bucket> 1
- 1
- Indiquez le nom de votre seau.
Créez le seau de stockage :
$ gsutil mb gs://$BUCKET/
Définissez la variable
PROJECT_ID
sur votre projet actif :$ PROJECT_ID=$(gcloud config get-value project)
Créer un compte de service :
$ gcloud iam service-accounts create velero \ --display-name "Velero service account"
Dressez la liste de vos comptes de service :
$ gcloud iam service-accounts list
Définissez la variable
SERVICE_ACCOUNT_EMAIL
pour qu'elle corresponde à sa valeuremail
:$ SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')
Attachez les politiques pour donner à l'utilisateur
velero
les permissions minimales nécessaires :$ ROLE_PERMISSIONS=( compute.disks.get compute.disks.create compute.disks.createSnapshot compute.snapshots.get compute.snapshots.create compute.snapshots.useReadOnly compute.snapshots.delete compute.zones.get )
Créez le rôle personnalisé
velero.server
:$ gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"
Ajouter une politique IAM au projet :
$ gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.server
Mettre à jour le compte de service IAM :
$ gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}
Enregistrer les clés du compte de service IAM dans le fichier
credentials-velero
dans le répertoire actuel :$ gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAIL
Vous utilisez le fichier
credentials-velero
pour créer un objetSecret
pour GCP avant d'installer l'application de protection des données.
4.3.4.3. 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.
4.3.4.3.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é.
Le nom par défaut du site Secret
est cloud-credentials-gcp
.
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-gcp -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.
4.3.4.3.2. Création de secrets pour différentes informations d'identification
Si vos emplacements de sauvegarde et de snapshot utilisent des identifiants différents, vous devez créer deux objets Secret
:
-
Sauvegarde de l'emplacement
Secret
avec un nom personnalisé. Le nom personnalisé est spécifié dans le blocspec.backupLocations
de la ressource personnalisée (CR)DataProtectionApplication
. -
Emplacement de l'instantané
Secret
avec le nom par défaut,cloud-credentials-gcp
. Cette adresseSecret
n'est pas spécifiée dans la CRDataProtectionApplication
.
Procédure
-
Créez un fichier
credentials-velero
pour l'emplacement de l'instantané dans le format approprié pour votre fournisseur de cloud. Créez un site
Secret
pour l'emplacement de l'instantané avec le nom par défaut :$ oc create secret generic cloud-credentials-gcp -n openshift-adp --from-file cloud=credentials-velero
-
Créez un fichier
credentials-velero
pour l'emplacement de sauvegarde dans le format approprié pour votre stockage d'objets. Créez une adresse
Secret
pour l'emplacement de sauvegarde avec un nom personnalisé :oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
Ajoutez le
Secret
avec le nom personnalisé auDataProtectionApplication
CR, comme dans l'exemple suivant :apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_sample> namespace: openshift-adp spec: ... backupLocations: - velero: provider: gcp default: true credential: key: cloud name: <custom_secret> 1 objectStorage: bucket: <bucket_name> prefix: <prefix> snapshotLocations: - velero: provider: gcp default: true config: project: <project> snapshotLocation: us-west1
- 1
- Emplacement de la sauvegarde
Secret
avec un nom personnalisé.
4.3.4.4. 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.
4.3.4.4.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
4.3.4.4.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 ...
4.3.4.5. 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-gcp
. 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-gcp
, 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: - gcp - openshift 1 restic: enable: true 2 podConfig: nodeSelector: <node selector> 3 backupLocations: - velero: provider: gcp default: true credential: key: cloud name: cloud-credentials-gcp 4 objectStorage: bucket: <bucket_name> 5 prefix: <prefix> 6 snapshotLocations: 7 - velero: provider: gcp default: true config: project: <project> snapshotLocation: us-west1 8
- 1
- Le plugin
openshift
est obligatoire. - 2
- 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
. - 3
- Spécifie le sélecteur de nœud à fournir à Restic podSpec.
- 4
- Si vous ne spécifiez pas cette valeur, le nom par défaut,
cloud-credentials-gcp
, est utilisé. Si vous spécifiez un nom personnalisé, celui-ci est utilisé pour l'emplacement de la sauvegarde. - 5
- 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.
- 6
- Spécifiez un préfixe pour les sauvegardes Velero, par exemple,
velero
, si le seau est utilisé à des fins multiples. - 7
- Il n'est pas nécessaire de spécifier un emplacement d'instantané si vous utilisez des instantanés CSI ou Restic pour sauvegarder des PV.
- 8
- L'emplacement de l'instantané doit être situé dans la même région que les PV.
- 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
4.3.4.5.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
.
4.3.5. Installation et configuration de l'API OpenShift pour la protection des données avec Multicloud Object Gateway
Vous installez OpenShift API for Data Protection (OADP) avec Multicloud Object Gateway (MCG) en installant l'opérateur OADP. L'opérateur installe Velero 1.9.
À partir d'OADP 1.0.4, toutes les versions d'OADP 1.0.z ne peuvent être utilisées qu'en tant que dépendance de l'opérateur MTC et ne sont pas disponibles en tant qu'opérateur autonome.
Vous configurez Multicloud Object Gateway en tant qu'emplacement de sauvegarde. MCG est un composant d'OpenShift Data Foundation. Vous configurez MCG comme emplacement de sauvegarde dans la ressource personnalisée (CR) DataProtectionApplication
.
L'API CloudStorage
, qui automatise la création d'un godet pour le stockage d'objets, est une fonctionnalité de l'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.
Vous créez un site Secret
pour l'emplacement de sauvegarde, puis vous installez l'application de protection des données.
Pour installer l'OADP Operator dans un environnement réseau restreint, vous devez d'abord désactiver les sources OperatorHub par défaut et mettre en miroir le catalogue Operator. Pour plus de détails, voir Utilisation d'Operator Lifecycle Manager sur des réseaux restreints.
4.3.5.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 des privilèges
cluster-admin
.
Procédure
-
Dans la console web d'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.
4.3.5.2. Récupération des informations d'identification de la passerelle d'objets multicloud
Vous devez récupérer les informations d'identification de Multicloud Object Gateway (MCG) afin de créer une ressource personnalisée (CR) Secret
pour OpenShift API for Data Protection (OADP).
MCG est un composant d'OpenShift Data Foundation.
Conditions préalables
- Vous devez déployer OpenShift Data Foundation en utilisant le guide de déploiement OpenShift Data Foundation approprié.
Procédure
-
Obtenez le point de terminaison S3,
AWS_ACCESS_KEY_ID
etAWS_SECRET_ACCESS_KEY
en exécutant la commandedescribe
sur la ressource personnaliséeNooBaa
. Créer un fichier
credentials-velero
:$ cat << EOF > ./credentials-velero [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> EOF
Vous utilisez le fichier
credentials-velero
pour créer un objetSecret
lorsque vous installez l'application de protection des données.
4.3.5.3. 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.
4.3.5.3.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é.
Le nom par défaut du site Secret
est cloud-credentials
.
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.
4.3.5.3.2. Création de secrets pour différentes informations d'identification
Si vos emplacements de sauvegarde et de snapshot utilisent des identifiants différents, vous devez créer deux objets Secret
:
-
Sauvegarde de l'emplacement
Secret
avec un nom personnalisé. Le nom personnalisé est spécifié dans le blocspec.backupLocations
de la ressource personnalisée (CR)DataProtectionApplication
. -
Emplacement de l'instantané
Secret
avec le nom par défaut,cloud-credentials
. Cette adresseSecret
n'est pas spécifiée dans la CRDataProtectionApplication
.
Procédure
-
Créez un fichier
credentials-velero
pour l'emplacement de l'instantané dans le format approprié pour votre fournisseur de cloud. Créez un site
Secret
pour l'emplacement de l'instantané avec le nom par défaut :$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero
-
Créez un fichier
credentials-velero
pour l'emplacement de sauvegarde dans le format approprié pour votre stockage d'objets. Créez une adresse
Secret
pour l'emplacement de sauvegarde avec un nom personnalisé :oc create secret generic <custom_secret> -n openshift-adp --from-file cloud=credentials-velero
Ajoutez le
Secret
avec le nom personnalisé auDataProtectionApplication
CR, comme dans l'exemple suivant :apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_sample> namespace: openshift-adp spec: ... backupLocations: - velero: config: profile: "default" region: minio s3Url: <url> insecureSkipTLSVerify: "true" s3ForcePathStyle: "true" provider: aws default: true credential: key: cloud name: <custom_secret> 1 objectStorage: bucket: <bucket_name> prefix: <prefix>
- 1
- Emplacement de la sauvegarde
Secret
avec un nom personnalisé.
4.3.5.4. 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.
4.3.5.4.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
4.3.5.4.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 ...
4.3.5.5. 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: - aws - openshift 1 restic: enable: true 2 podConfig: nodeSelector: <node selector> 3 backupLocations: - velero: config: profile: "default" region: minio s3Url: <url> 4 insecureSkipTLSVerify: "true" s3ForcePathStyle: "true" provider: aws default: true credential: key: cloud name: cloud-credentials 5 objectStorage: bucket: <bucket_name> 6 prefix: <prefix> 7
- 1
- Le plugin
openshift
est obligatoire. - 2
- 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
. - 3
- Spécifie le sélecteur de nœud à fournir à Restic podSpec.
- 4
- Spécifiez l'URL du point de terminaison S3.
- 5
- Si vous ne spécifiez pas cette valeur, le nom par défaut,
cloud-credentials
, est utilisé. Si vous spécifiez un nom personnalisé, celui-ci est utilisé pour l'emplacement de la sauvegarde. - 6
- 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.
- 7
- 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
4.3.5.5.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
.
4.3.6. Installation et configuration de l'API OpenShift pour la protection des données avec OpenShift Data Foundation
Vous installez OpenShift API for Data Protection (OADP) avec OpenShift Data Foundation en installant l'opérateur OADP et en configurant un emplacement de sauvegarde et un emplacement d'instantané. Ensuite, vous installez l'application de protection des données.
À partir d'OADP 1.0.4, toutes les versions d'OADP 1.0.z ne peuvent être utilisées qu'en tant que dépendance de l'opérateur MTC et ne sont pas disponibles en tant qu'opérateur autonome.
Vous pouvez configurer Multicloud Object Gateway ou tout stockage d'objets compatible S3 comme emplacement de sauvegarde.
L'API CloudStorage
, qui automatise la création d'un godet pour le stockage d'objets, est une fonctionnalité de l'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.
Vous créez un site Secret
pour l'emplacement de sauvegarde, puis vous installez l'application de protection des données.
Pour installer l'OADP Operator dans un environnement réseau restreint, vous devez d'abord désactiver les sources OperatorHub par défaut et mettre en miroir le catalogue Operator. Pour plus de détails, voir Utilisation d'Operator Lifecycle Manager sur des réseaux restreints.
4.3.6.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 des privilèges
cluster-admin
.
Procédure
-
Dans la console web d'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.
4.3.6.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.
4.3.6.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.
4.3.6.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.
4.3.6.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
4.3.6.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 ...
4.3.6.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
.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
: - 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
4.3.6.4.1. Configurer NooBaa pour la reprise après sinistre sur OpenShift Data Foundation
Si vous utilisez le stockage en cluster pour votre bucket NooBaa backupStorageLocation
sur OpenShift Data Foundation, configurez NooBaa en tant que magasin d'objets externe.
Si NooBaa n'est pas configuré comme un magasin d'objets externe, les sauvegardes risquent de ne pas être disponibles.
Procédure
- Configurez NooBaa en tant que magasin d'objets externe comme décrit dans Ajouter des ressources de stockage pour l'hybride ou le Multicloud.
4.3.6.4.2. 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
.
4.3.7. Désinstallation de l'API OpenShift pour la protection des données
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.