Installation de l'opérateur OpenShift API for Data protection (OADP)
Cette section décrit l'installation de l'opérateur OADP (OpenShift API for Data protection).
Prérequis
-
Cluster Red Hat OpenShift (version ultérieure à la version 4.12) installé sur une infrastructure sans système d'exploitation avec des nœuds worker RHCOS
-
Cluster NetApp ONTAP intégré au cluster utilisant Trident
-
Un système back-end Trident configuré avec un SVM sur le cluster ONTAP
-
Une classe de stockage configurée sur le cluster OpenShift avec Trident comme provisionneur
-
Classe Snapshot Trident créée sur le cluster
-
L'accès cluster-admin au cluster Red Hat OpenShift
-
Accès au cluster NetApp ONTAP par administrateur
-
Une application, par exemple postgresql, déployée sur le cluster
-
Une station de travail d'administration avec des outils tridentctl et oc installés et ajoutés à $PATH
Procédure d'installation de l'opérateur OADP
-
Accédez au hub opérateur du cluster et sélectionnez opérateur OADP Red Hat. Dans la page installer, utilisez toutes les sélections par défaut et cliquez sur installer. Sur la page suivante, utilisez à nouveau toutes les valeurs par défaut et cliquez sur installer. L'opérateur OADP sera installé dans l'espace de noms openshift-adp.
Conditions préalables pour la configuration Velero avec les détails de 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 objet compatible S3. Configurez ONTAP S3 à l'aide des procédures indiquées dans le "Section gestion du stockage objet de la documentation ONTAP". Pour l'intégration à Velero, vous aurez besoin des informations suivantes de votre configuration ONTAP S3.
-
Une interface logique (LIF) qui peut être utilisée pour accéder à S3
-
Informations d'identification de l'utilisateur pour accéder à S3, y compris la clé d'accès et la clé d'accès secrète
-
Nom de compartiment dans S3 pour les sauvegardes avec des autorisations d'accès pour l'utilisateur
-
Pour un accès sécurisé au stockage objet, le certificat TLS doit être installé sur le serveur de stockage objet.
Conditions préalables pour la configuration Velero avec les détails de StorageGRID S3
Velero peut être configuré pour utiliser le stockage objet compatible S3. Vous pouvez configurer StorageGRID S3 à l'aide des procédures indiquées dans le "Documentation StorageGRID". Pour l'intégration à Velero, vous aurez besoin des informations suivantes de votre configuration StorageGRID S3.
-
Terminal pouvant être utilisé pour accéder à S3
-
Informations d'identification de l'utilisateur pour accéder à S3, y compris la clé d'accès et la clé d'accès secrète
-
Nom de compartiment dans S3 pour les sauvegardes avec des autorisations d'accès pour l'utilisateur
-
Pour un accès sécurisé au stockage objet, le certificat TLS doit être installé sur le serveur de stockage objet.
Procédure de configuration de Velero
-
Commencez par créer un secret pour les informations d'identification d'un utilisateur ONTAP S3 ou pour les informations d'identification d'un utilisateur de locataire StorageGRID. Ceci sera utilisé pour configurer Velero ultérieurement. Vous pouvez créer un secret à partir de l'interface de ligne de commande ou de la console Web.
Pour créer un secret à partir de la console Web, sélectionnez secrets, puis cliquez sur clé/valeur Secret. Indiquez les valeurs pour le nom, la clé et la valeur des informations d'identification, 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 code secret associé aux informations d'identification d'utilisateur ONTAP S3 nommées identifiants ontap-s3 est créé.
Pour créer un secret nommé sg-s3-credentials à partir de l'interface de ligne de commande, 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 Create DataProtectionApplication. Dans la vue formulaire, indiquez un nom pour l'application Dataprotection ou utilisez le nom par défaut.
Allez maintenant à la vue YAML et remplacez les informations de spécification comme indiqué dans les exemples de fichier 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 des spécifications du fichier yaml doit être configurée de manière appropriée pour les paramètres suivants, comme dans l'exemple ci-dessus
BackupLocation
ONTAP S3 ou StorageGRID S3 (avec ses informations d'identification et d'autres informations comme indiqué dans le yaml) est configuré comme emplacement de sauvegarde par défaut pour velero.
SnapshotLocation si vous utilisez des instantanés de l'interface de stockage de conteneur (CSI), vous n'avez pas besoin de spécifier un emplacement de snapshot car vous créerez un VolumeSnapshotClass CR pour enregistrer le pilote CSI. Dans notre exemple, vous utilisez Trident CSI et vous avez créé précédemment VolumeSnapShotClass CR à l'aide du pilote Trident CSI.
Activer le plug-in CSI
Ajoutez csi aux plug-ins par défaut de Velero pour sauvegarder les volumes persistants avec des snapshots CSI.
Les plug-ins Velero CSI, pour sauvegarder les PVC CSI, choisiront le VolumeSnapshotClass dans le cluster qui a le label velero.io/csi-volumesnapshot-class sur celui-ci. Pour cela
-
Vous devez avoir créé la classe VolumeSnapshotClass.
-
Modifiez le libellé de la classe trident-snapshotclass et définissez-le sur
velero.io/csi-volumesnapshot-class=true comme indiqué ci-dessous.
Assurez-vous que les snapshots peuvent persister même si les objets VolumeSnapshot sont supprimés. Pour ce faire, définissez la deletionPolicy à conserver. Si ce n'est pas le cas, la suppression d'un namespace perd complètement toutes les demandes de volume virtuels sauvegardées.
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: trident-snapshotclass driver: csi.trident.netapp.io deletionPolicy: Retain
Assurez-vous que l'application DataProtectionApplication est créée et qu'elle est en condition:réconciliée.
L'opérateur OADP va créer un BackupStorageLocation correspondant. Il sera utilisé lors de la création d'une sauvegarde.