Skip to main content
NetApp public and hybrid cloud solutions
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Installation de l'opérateur OpenShift API for Data Protection (OADP)

Contributeurs kevin-hoke

Cette section décrit l’installation de l’opérateur OpenShift API for Data Protection (OADP).

Prérequis

  • Un cluster Red Hat OpenShift (version ultérieure à la version 4.12) installé sur une infrastructure bare-metal avec des nœuds de travail RHCOS

  • Un cluster NetApp ONTAP intégré au cluster à l'aide de Trident

  • Un backend Trident configuré avec un SVM sur un cluster ONTAP

  • Une StorageClass configurée sur le cluster OpenShift avec Trident comme provisionneur

  • Classe Trident Snapshot créée sur le cluster

  • Accès administrateur du cluster au cluster Red Hat OpenShift

  • Accès administrateur au cluster NetApp ONTAP

  • Une application, par exemple postgresql, déployée sur le cluster

  • Un poste de travail administrateur avec les outils tridentctl et oc installés et ajoutés à $PATH

Étapes d'installation de l'opérateur OADP

  1. Accédez au hub opérateur du cluster et sélectionnez l’opérateur Red Hat OADP. Dans la page Installer, utilisez toutes les sélections par défaut et cliquez sur Installer. Sur la page suivante, utilisez à nouveau tous les paramètres par défaut et cliquez sur Installer. L'opérateur OADP sera installé dans l'espace de noms openshift-adp.

API OpenShift pour la protection des données dans Operator Hub

Installation de l'API OpenShift pour l'opérateur de protection des données

API OpenShift pour l'opérateur de protection des données installée

Prérequis pour la configuration de Velero avec Ontap S3

Une fois l'installation de l'opérateur réussie, configurez l'instance de Velero. Velero peut être configuré pour utiliser le stockage d'objets compatible S3. Configurez ONTAP S3 à l'aide des procédures indiquées dans le"Section Gestion du stockage d'objets de la documentation ONTAP" . Vous aurez besoin des informations suivantes de votre configuration ONTAP S3 pour l'intégration avec Velero.

  • Une interface logique (LIF) qui peut être utilisée pour accéder à S3

  • Informations d'identification de l'utilisateur pour accéder à S3 qui incluent la clé d'accès et la clé d'accès secrète

  • Un nom de bucket dans S3 pour les sauvegardes avec des autorisations d'accès pour l'utilisateur

  • Pour un accès sécurisé au stockage d'objets, le certificat TLS doit être installé sur le serveur de stockage d'objets.

Prérequis pour la configuration de Velero avec StorageGrid S3

Velero peut être configuré pour utiliser le stockage d'objets compatible S3. Vous pouvez configurer StorageGrid S3 en utilisant les procédures indiquées dans le"Documentation de StorageGrid" . Vous aurez besoin des informations suivantes de votre configuration StorageGrid S3 pour l'intégrer à Velero.

  • Le point de terminaison qui peut être utilisé pour accéder à S3

  • Informations d'identification de l'utilisateur pour accéder à S3 qui incluent la clé d'accès et la clé d'accès secrète

  • Un nom de bucket dans S3 pour les sauvegardes avec des autorisations d'accès pour l'utilisateur

  • Pour un accès sécurisé au stockage d'objets, le certificat TLS doit être installé sur le serveur de stockage d'objets.

Étapes pour configurer Velero

  • Tout d’abord, créez un secret pour les informations d’identification d’un utilisateur ONTAP S3 ou d’un locataire StorageGrid. Cela sera utilisé pour configurer Velero plus tard. Vous pouvez créer un secret à partir de la CLI ou de la console Web. Pour créer un secret à partir de la console Web, sélectionnez Secrets, puis cliquez sur Clé/Valeur secrète. Fournissez les valeurs pour le nom des informations d'identification, la clé et la valeur comme indiqué. Assurez-vous d’utiliser l’ID de clé d’accès et la clé d’accès secrète de votre utilisateur S3. Nommez le secret de manière appropriée. Dans l'exemple ci-dessous, un secret avec les informations d'identification de l'utilisateur ONTAP S3 nommé ontap-s3-credentials est créé.

Secret pour les informations d'identification de l'utilisateur S3

Créer un secret pour les informations d'identification de l'utilisateur S3

Pour créer un secret nommé sg-s3-credentials à partir de la CLI, vous pouvez utiliser la commande suivante.

Créer un secret pour les informations d'identification de l'utilisateur Storage Grid S3 à l'aide de l'interface de ligne de commande

  • Ensuite, pour configurer Velero, sélectionnez Opérateurs installés dans l'élément de menu sous Opérateurs, cliquez sur Opérateur OADP, puis sélectionnez l'onglet DataProtectionApplication.

Application de protection des données

Cliquez sur Créer une application de protection des données. Dans la vue formulaire, indiquez un nom pour l’application DataProtection ou utilisez le nom par défaut.

Créer une application de protection des données

Accédez maintenant à la vue YAML et remplacez les informations de spécification comme indiqué dans les exemples de fichiers yaml ci-dessous.

Exemple de fichier YAML pour la configuration de Velero avec ONTAP S3 comme emplacement de sauvegarde

spec:
  backupLocations:
    - velero:
        config:
          insecureSkipTLSVerify: 'false' ->use this for https communication with ONTAP S3
          profile: default
          region: us-east-1
          s3ForcePathStyle: 'true'  ->This allows use of IP in s3URL
          s3Url: 'https://10.61.181.161' ->Ensure TLS certificate for S3 is configured
        credential:
          key: cloud
          name: ontap-s3-credentials -> previously created secret
        default: true
        objectStorage:
          bucket: velero -> Your bucket name previously created in S3 for backups
          prefix: container-demo-backup ->The folder that will be created in the bucket
          caCert: <base64 encoded CA Certificate installed on ONTAP Cluster with the SVM Scope where the bucker exists>
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      #default Data Mover uses Kopia to move snapshots to Object Storage
    velero:
      defaultPlugins:
        - csi ->This plugin to use CSI snapshots
        - openshift
        - aws
        - kubevirt -> This plugin to use Velero with OIpenShift Virtualization

Exemple de fichier YAML pour la configuration de Velero avec StorageGrid S3 comme emplacement de sauvegarde

spec:
  backupLocations:
    - velero:
        config:
          insecureSkipTLSVerify: 'true'
          profile: default
          region: us-east-1 ->region of your StorageGrid system
          s3ForcePathStyle: 'True'
          s3Url: 'https://172.21.254.25:10443' ->the IP used to access S3
        credential:
          key: cloud
          name: sg-s3-credentials ->secret created earlier
        default: true
        objectStorage:
          bucket: velero
          prefix: demobackup
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - csi
        - openshift
        - aws
        - kubevirt

La section spec dans le fichier yaml doit être configurée de manière appropriée pour les paramètres suivants, similaires à l'exemple ci-dessus

backupLocations ONTAP S3 ou StorageGrid S3 (avec ses informations d'identification et autres informations telles qu'indiquées dans le fichier yaml) est configuré comme BackupLocation par défaut pour velero.

snapshotLocations Si vous utilisez des snapshots Container Storage Interface (CSI), vous n'avez pas besoin de spécifier un emplacement de snapshot, car vous créerez un CR VolumeSnapshotClass pour enregistrer le pilote CSI. Dans notre exemple, vous utilisez Trident CSI et vous avez précédemment créé VolumeSnapShotClass CR à l'aide du pilote Trident CSI.

Activer le plugin CSI Ajoutez csi aux plugins par défaut pour Velero pour sauvegarder les volumes persistants avec des instantanés CSI. Les plugins Velero CSI, pour sauvegarder les PVC sauvegardés par CSI, choisiront le VolumeSnapshotClass dans le cluster sur lequel l'étiquette velero.io/csi-volumesnapshot-class est définie. Pour ça

  • Vous devez avoir créé le trident VolumeSnapshotClass.

  • Modifiez l'étiquette de trident-snapshotclass et définissez-la sur velero.io/csi-volumesnapshot-class=true comme indiqué ci-dessous.

Étiquette de classe Trident Snapshot

Assurez-vous que les instantanés peuvent persister même si les objets VolumeSnapshot sont supprimés. Cela peut être fait en définissant deletionPolicy sur Retain. Dans le cas contraire, la suppression d’un espace de noms entraînera la perte complète de tous les PVC sauvegardés dans celui-ci.

apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
  name: trident-snapshotclass
driver: csi.trident.netapp.io
deletionPolicy: Retain

La politique de suppression de VolumeSnapshotClass doit être définie sur Conserver

Assurez-vous que DataProtectionApplication est créée et qu'elle est dans l'état : Réconcilié.

L'objet DataProtectionApplication est créé

L'opérateur OADP créera un BackupStorageLocation correspondant. Celui-ci sera utilisé lors de la création d'une sauvegarde.

BackupStorageLocation est créé