Rechercher

4.3. Installation et configuration de l'OADP

download PDF

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.

Note

À 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 :

Important

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 :

Note

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.

Avertissement

Si NooBaa n'est pas configuré comme un magasin d'objets externe, les sauvegardes risquent de ne pas être disponibles.

Procédure

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.zla version la plus récente de l'OADP 1.0 ClusterServiceVersion.
  • Le canal stable-1.1 contient oadp.v1.1.zla version la plus récente de l'OADP 1.1 ClusterServiceVersion.

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.
Note

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.

Note

À 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

  1. Dans la console web d'OpenShift Container Platform, cliquez sur Operators OperatorHub.
  2. Utilisez le champ Filter by keyword pour trouver le OADP Operator.
  3. Sélectionnez le site OADP Operator et cliquez sur Install.
  4. Cliquez sur Install pour installer l'opérateur dans le projet openshift-adp.
  5. 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

  1. Définir la variable BUCKET:

    $ BUCKET=<your_bucket>
  2. Définir la variable REGION:

    $ REGION=<your_region>
  3. 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 charge LocationConstraint. Si votre région est us-east-1, omettez --create-bucket-configuration LocationConstraint=$REGION.
  4. 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.
  5. 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
  6. 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
  7. 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>
      }
    }

  8. 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 objet Secret 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 CR DataProtectionApplication.
  • Secret par défaut pour l'emplacement de l'instantané, qui n'est pas référencé dans le CR DataProtectionApplication.
Important

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.

Note

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

  1. 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>
  2. Créer un objet Secret avec le fichier credentials-velero:

    oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=credentials-velero 1
  3. 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 manifeste DataProtectionApplication 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 1
    Spécifier le sélecteur de nœud à fournir à Velero podSpec
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 et spec.backupLocations.velero.config du manifeste DataProtectionApplication 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
    ...
    1
    Indiquez la chaîne du certificat de l'autorité de certification codée en base64.
    2
    La configuration insecureSkipTLSVerify peut être réglée sur "true" ou "false". Si elle est réglée sur "true", la sécurité SSL/TLS est désactivée. Si la configuration est "false", la sécurité SSL/TLS est activée.

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é.

    Note

    Si 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 fichier credentials-velero vide. S'il n'y a pas de Secret par défaut, l'installation échouera.

Procédure

  1. Cliquez sur Operators Installed Operators et sélectionnez l'opérateur OADP.
  2. Sous Provided APIs, cliquez sur Create instance dans la boîte DataProtectionApplication.
  3. 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 pods Restic en cours d'exécution. Vous configurez Restic pour les sauvegardes en ajoutant spec.defaultVolumesToRestic: true au CR Backup.
    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.
  4. Cliquez sur Create.
  5. 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.

Note

À 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

  1. Dans la console web d'OpenShift Container Platform, cliquez sur Operators OperatorHub.
  2. Utilisez le champ Filter by keyword pour trouver le OADP Operator.
  3. Sélectionnez le site OADP Operator et cliquez sur Install.
  4. Cliquez sur Install pour installer l'opérateur dans le projet openshift-adp.
  5. 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

  1. Connectez-vous à Azure :

    $ az login
  2. Définir la variable AZURE_RESOURCE_GROUP:

    $ AZURE_RESOURCE_GROUP=Velero_Backups
  3. 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.
  4. Définir la variable AZURE_STORAGE_ACCOUNT_ID:

    $ AZURE_STORAGE_ACCOUNT_ID="velero$(uuidgen | cut -d '-' -f5 | tr '[A-Z]' '[a-z]')"
  5. 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
  6. Définir la variable BLOB_CONTAINER:

    $ BLOB_CONTAINER=velero
  7. Créez un conteneur de stockage Azure Blob :

    $ az storage container create \
      -n $BLOB_CONTAINER \
      --public-access off \
      --account-name $AZURE_STORAGE_ACCOUNT_ID
  8. 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`
  9. 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'"]
       }'
  10. 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 objet Secret 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 CR DataProtectionApplication.
  • Secret par défaut pour l'emplacement de l'instantané, qui n'est pas référencé dans le CR DataProtectionApplication.
Important

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.

Note

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 bloc spec.backupLocations de la ressource personnalisée (CR) DataProtectionApplication.
  • Emplacement de l'instantané Secret avec le nom par défaut, cloud-credentials-azure. Cette adresse Secret n'est pas spécifiée dans la CR DataProtectionApplication.

Procédure

  1. Créez un fichier credentials-velero pour l'emplacement de l'instantané dans le format approprié pour votre fournisseur de cloud.
  2. 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
  3. Créez un fichier credentials-velero pour l'emplacement de sauvegarde dans le format approprié pour votre stockage d'objets.
  4. 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
  5. Ajoutez le Secret avec le nom personnalisé au DataProtectionApplication 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 manifeste DataProtectionApplication 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 et spec.backupLocations.velero.config du manifeste DataProtectionApplication 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
    ...
    1
    Indiquez la chaîne du certificat de l'autorité de certification codée en base64.
    2
    La configuration insecureSkipTLSVerify peut être réglée sur "true" ou "false". Si elle est réglée sur "true", la sécurité SSL/TLS est désactivée. Si la configuration est "false", la sécurité SSL/TLS est activée.

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 ce Secret au CR DataProtectionApplication.
    • Secret avec le nom par défaut, cloud-credentials-azure, pour l'emplacement de l'instantané. Ce site Secret n'est pas référencé dans le CR DataProtectionApplication.

      Note

      Si 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 fichier credentials-velero vide. S'il n'y a pas de Secret par défaut, l'installation échouera.

Procédure

  1. Cliquez sur Operators Installed Operators et sélectionnez l'opérateur OADP.
  2. Sous Provided APIs, cliquez sur Create instance dans la boîte DataProtectionApplication.
  3. 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 pods Restic en cours d'exécution. Vous configurez Restic pour les sauvegardes en ajoutant spec.defaultVolumesToRestic: true au CR Backup.
    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.
  4. Cliquez sur Create.
  5. 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.

Note

À 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

  1. Dans la console web d'OpenShift Container Platform, cliquez sur Operators OperatorHub.
  2. Utilisez le champ Filter by keyword pour trouver le OADP Operator.
  3. Sélectionnez le site OADP Operator et cliquez sur Install.
  4. Cliquez sur Install pour installer l'opérateur dans le projet openshift-adp.
  5. 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

Procédure

  1. Connectez-vous à GCP :

    $ gcloud auth login
  2. Définir la variable BUCKET:

    bUCKET=<bucket> 1
    1
    Indiquez le nom de votre seau.
  3. Créez le seau de stockage :

    $ gsutil mb gs://$BUCKET/
  4. Définissez la variable PROJECT_ID sur votre projet actif :

    $ PROJECT_ID=$(gcloud config get-value project)
  5. Créer un compte de service :

    $ gcloud iam service-accounts create velero \
        --display-name "Velero service account"
  6. Dressez la liste de vos comptes de service :

    $ gcloud iam service-accounts list
  7. Définissez la variable SERVICE_ACCOUNT_EMAIL pour qu'elle corresponde à sa valeur email:

    $ SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \
        --filter="displayName:Velero service account" \
        --format 'value(email)')
  8. 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
    )
  9. 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[*]}")"
  10. 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
  11. Mettre à jour le compte de service IAM :

    $ gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}
  12. 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 objet Secret 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 CR DataProtectionApplication.
  • Secret par défaut pour l'emplacement de l'instantané, qui n'est pas référencé dans le CR DataProtectionApplication.
Important

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.

Note

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 bloc spec.backupLocations de la ressource personnalisée (CR) DataProtectionApplication.
  • Emplacement de l'instantané Secret avec le nom par défaut, cloud-credentials-gcp. Cette adresse Secret n'est pas spécifiée dans la CR DataProtectionApplication.

Procédure

  1. Créez un fichier credentials-velero pour l'emplacement de l'instantané dans le format approprié pour votre fournisseur de cloud.
  2. 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
  3. Créez un fichier credentials-velero pour l'emplacement de sauvegarde dans le format approprié pour votre stockage d'objets.
  4. 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
  5. Ajoutez le Secret avec le nom personnalisé au DataProtectionApplication 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 manifeste DataProtectionApplication 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 et spec.backupLocations.velero.config du manifeste DataProtectionApplication 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
    ...
    1
    Indiquez la chaîne du certificat de l'autorité de certification codée en base64.
    2
    La configuration insecureSkipTLSVerify peut être réglée sur "true" ou "false". Si elle est réglée sur "true", la sécurité SSL/TLS est désactivée. Si la configuration est "false", la sécurité SSL/TLS est activée.

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 ce Secret au CR DataProtectionApplication.
    • Secret avec le nom par défaut, cloud-credentials-gcp, pour l'emplacement de l'instantané. Ce site Secret n'est pas référencé dans le CR DataProtectionApplication.

      Note

      Si 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 fichier credentials-velero vide. S'il n'y a pas de Secret par défaut, l'installation échouera.

Procédure

  1. Cliquez sur Operators Installed Operators et sélectionnez l'opérateur OADP.
  2. Sous Provided APIs, cliquez sur Create instance dans la boîte DataProtectionApplication.
  3. 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 pods Restic en cours d'exécution. Vous configurez Restic pour les sauvegardes en ajoutant spec.defaultVolumesToRestic: true au CR Backup.
    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.
  4. Cliquez sur Create.
  5. 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.

Note

À 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.

Important

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

  1. Dans la console web d'OpenShift Container Platform, cliquez sur Operators OperatorHub.
  2. Utilisez le champ Filter by keyword pour trouver le OADP Operator.
  3. Sélectionnez le site OADP Operator et cliquez sur Install.
  4. Cliquez sur Install pour installer l'opérateur dans le projet openshift-adp.
  5. 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

Procédure

  1. Obtenez le point de terminaison S3, AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY en exécutant la commandedescribe sur la ressource personnalisée NooBaa.
  2. 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 objet Secret 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 CR DataProtectionApplication.
  • Secret par défaut pour l'emplacement de l'instantané, qui n'est pas référencé dans le CR DataProtectionApplication.
Important

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.

Note

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 bloc spec.backupLocations de la ressource personnalisée (CR) DataProtectionApplication.
  • Emplacement de l'instantané Secret avec le nom par défaut, cloud-credentials. Cette adresse Secret n'est pas spécifiée dans la CR DataProtectionApplication.

Procédure

  1. Créez un fichier credentials-velero pour l'emplacement de l'instantané dans le format approprié pour votre fournisseur de cloud.
  2. 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
  3. Créez un fichier credentials-velero pour l'emplacement de sauvegarde dans le format approprié pour votre stockage d'objets.
  4. 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
  5. Ajoutez le Secret avec le nom personnalisé au DataProtectionApplication 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 manifeste DataProtectionApplication 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 et spec.backupLocations.velero.config du manifeste DataProtectionApplication 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
    ...
    1
    Indiquez la chaîne du certificat de l'autorité de certification codée en base64.
    2
    La configuration insecureSkipTLSVerify peut être réglée sur "true" ou "false". Si elle est réglée sur "true", la sécurité SSL/TLS est désactivée. Si la configuration est "false", la sécurité SSL/TLS est activée.

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 ce Secret au CR DataProtectionApplication.
    • Secret avec le nom par défaut, cloud-credentials, pour l'emplacement de l'instantané. Ce site Secret n'est pas référencé dans le CR DataProtectionApplication.

      Note

      Si 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 fichier credentials-velero vide. S'il n'y a pas de Secret par défaut, l'installation échouera.

Procédure

  1. Cliquez sur Operators Installed Operators et sélectionnez l'opérateur OADP.
  2. Sous Provided APIs, cliquez sur Create instance dans la boîte DataProtectionApplication.
  3. 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 pods Restic en cours d'exécution. Vous configurez Restic pour les sauvegardes en ajoutant spec.defaultVolumesToRestic: true au CR Backup.
    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.
  4. Cliquez sur Create.
  5. 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.

Note

À 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.

Important

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

  1. Dans la console web d'OpenShift Container Platform, cliquez sur Operators OperatorHub.
  2. Utilisez le champ Filter by keyword pour trouver le OADP Operator.
  3. Sélectionnez le site OADP Operator et cliquez sur Install.
  4. Cliquez sur Install pour installer l'opérateur dans le projet openshift-adp.
  5. 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 CR DataProtectionApplication.
  • Secret par défaut pour l'emplacement de l'instantané, qui n'est pas référencé dans le CR DataProtectionApplication.
Important

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é.

Note

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 manifeste DataProtectionApplication 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 et spec.backupLocations.velero.config du manifeste DataProtectionApplication 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
    ...
    1
    Indiquez la chaîne du certificat de l'autorité de certification codée en base64.
    2
    La configuration insecureSkipTLSVerify peut être réglée sur "true" ou "false". Si elle est réglée sur "true", la sécurité SSL/TLS est désactivée. Si la configuration est "false", la sécurité SSL/TLS est activée.

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.

    Note

    Si 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 fichier credentials-velero vide. S'il n'y a pas de Secret par défaut, l'installation échouera.

Procédure

  1. Cliquez sur Operators Installed Operators et sélectionnez l'opérateur OADP.
  2. Sous Provided APIs, cliquez sur Create instance dans la boîte DataProtectionApplication.
  3. Cliquez sur YAML View et mettez à jour les paramètres du manifeste DataProtectionApplication:
  4. Cliquez sur Create.
  5. 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.

Avertissement

Si NooBaa n'est pas configuré comme un magasin d'objets externe, les sauvegardes risquent de ne pas être disponibles.

Procédure

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.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

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

Rendre l’open source plus inclusif

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

À propos de Red Hat

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

© 2024 Red Hat, Inc.