Installation de l'opérateur OpenShift API for Data Protection (OADP)
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
-
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.
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éé.
Pour créer un secret nommé sg-s3-credentials à partir de la CLI, vous pouvez utiliser la commande suivante.
-
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.
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.
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.
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
Assurez-vous que DataProtectionApplication est créée et qu'elle est dans l'état : Réconcilié.
L'opérateur OADP créera un BackupStorageLocation correspondant. Celui-ci sera utilisé lors de la création d'une sauvegarde.