Installazione dell'operatore OpenShift API for Data Protection (OADP)
In questa sezione viene descritta l'installazione dell'operatore OpenShift API for Data Protection (OADP).
Prerequisiti
-
Un cluster Red Hat OpenShift (versione successiva alla 4,12) installato in un'infrastruttura bare-metal con nodi di lavoro RHCOS
-
Un cluster NetApp ONTAP integrato con il cluster utilizzando Trident
-
Un backend Trident configurato con una SVM sul cluster ONTAP
-
Una StorageClass configurata nel cluster OpenShift con Trident come provisioner
-
Classe Snapshot Trident creata nel cluster
-
Accesso cluster-admin al cluster Red Hat OpenShift
-
Accesso amministrativo al cluster NetApp ONTAP
-
Operatore di virtualizzazione OpenShift installato e configurato
-
VM implementate in uno spazio dei nomi su OpenShift Virtualization
-
Una workstation di amministrazione con tridentctl e oc tools installati e aggiunti al percorso dei dollari
Se si desidera eseguire un backup di una macchina virtuale quando è in esecuzione, è necessario installare l'agente guest QEMU su tale macchina virtuale. Se si installa la macchina virtuale utilizzando un modello esistente, l'agente QEMU viene installato automaticamente. QEMU consente all'agente ospite di disattivare i dati in-flight nel sistema operativo guest durante il processo di snapshot ed evitare possibili danneggiamenti dei dati. Se QEMU non è installato, è possibile arrestare la macchina virtuale prima di eseguire un backup. |
Procedura per l'installazione dell'operatore OADP
-
Andare all'Operator Hub del cluster e selezionare Red Hat OADP operator. Nella pagina Installa, utilizzare tutte le selezioni predefinite e fare clic su Installa. Nella pagina successiva, utilizzare nuovamente tutte le impostazioni predefinite e fare clic su Installa. L'operatore OADP sarà installato nello spazio dei nomi openshift-adp.
Prerequisiti per la configurazione di Velero con i dettagli di ONTAP S3
Una volta completata l'installazione dell'operatore, configurare l'istanza di Velero.
Velero può essere configurato per utilizzare l'archiviazione oggetti compatibile con S3. Configurare ONTAP S3 utilizzando le procedure illustrate nella "Sezione Gestione dello storage a oggetti della documentazione di ONTAP". Per l'integrazione con Velero, sono necessarie le seguenti informazioni della configurazione di ONTAP S3.
-
Un'interfaccia logica (LIF) che può essere usata per accedere a S3
-
Credenziali utente per accedere a S3 che include la chiave di accesso e la chiave di accesso segreta
-
Un nome bucket in S3 per i backup con autorizzazioni di accesso per l'utente
-
Per un accesso sicuro all'archiviazione a oggetti, è necessario installare il certificato TLS sul server di archiviazione a oggetti.
Prerequisiti per la configurazione di Velero con i dettagli di StorageGRID S3
Velero può essere configurato per utilizzare l'archiviazione oggetti compatibile con S3. È possibile configurare StorageGRID S3 utilizzando le procedure illustrate nella "Documentazione StorageGRID". Per l'integrazione con Velero, sono necessarie le seguenti informazioni della configurazione di StorageGRID S3.
-
L'endpoint che può essere utilizzato per accedere a S3
-
Credenziali utente per accedere a S3 che include la chiave di accesso e la chiave di accesso segreta
-
Un nome bucket in S3 per i backup con autorizzazioni di accesso per l'utente
-
Per un accesso sicuro all'archiviazione a oggetti, è necessario installare il certificato TLS sul server di archiviazione a oggetti.
Procedura di configurazione di Velero
-
Innanzitutto, creare un segreto per una credenziale utente ONTAP S3 o per le credenziali utente StorageGRID tenant. Verrà utilizzato per configurare Velero in un secondo momento. È possibile creare un segreto dall'interfaccia CLI o dalla console Web.
Per creare un segreto dalla console Web, selezionare segreti, quindi fare clic su chiave/valore segreto. Fornire i valori per il nome della credenziale, la chiave e il valore come mostrato. Assicurarsi di utilizzare l'ID chiave di accesso e la chiave di accesso segreta dell'utente S3. Assegnare un nome appropriato al segreto. Nell'esempio seguente, viene creato un segreto con credenziali utente di ONTAP S3 denominato credenziali ontap-S3.
Per creare un segreto denominato sg-S3-credenziali dall'interfaccia CLI, è possibile utilizzare il seguente comando.
-
Quindi, per configurare Velero, selezionare Installed Operators dalla voce di menu in Operators, fare clic sull'operatore OADP, quindi selezionare la scheda DataProtectionApplication.
Fare clic su Create DataProtectionApplication. Nella vista modulo, specificare un nome per l'applicazione DataProtection o utilizzare il nome predefinito.
Passare ora alla visualizzazione YAML e sostituire le informazioni sulle specifiche come mostrato negli esempi di file yaml riportati di seguito.
Esempio di file yaml per la configurazione di Velero con ONTAP S3 come backupLocation
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.xx.xx.xx' ->LIF to access S3. 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: demobackup ->The folder that will be created in the bucket provider: aws configuration: nodeAgent: enable: true uploaderType: kopia #default Data Mover uses Kopia to move snapshots to Object Storage velero: defaultPlugins: - csi ->Add this plugin - openshift - aws - kubevirt ->Add this plugin
File yaml di esempio per la configurazione di Velero con StorageGRID S3 come backupLocation e snapshotLocation
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 sezione delle specifiche nel file yaml deve essere configurata in modo appropriato per i seguenti parametri, come nell'esempio precedente
BackupLocations
ONTAP S3 o StorageGRID S3 (con le relative credenziali e altre informazioni come mostrato in yaml) è configurato come BackupLocation predefinito per velero.
SnapshotLocations se si utilizzano snapshot Container Storage Interface (CSI), non è necessario specificare una posizione snapshot perché si creerà un VolumeSnapshotClass CR per registrare il driver CSI. Nel nostro esempio, si utilizza Trident CSI e si è creato in precedenza VolumeSnapShotClass CR utilizzando il driver Trident CSI.
Attiva plugin CSI
Aggiungere csi ai prefaultPlugin per Velero per eseguire il backup dei volumi persistenti con gli snapshot CSI.
I plug-in di Velero CSI, per eseguire il backup dei PVC supportati da CSI, sceglieranno VolumeSnapshotClass nel cluster su cui è impostata l'etichetta velero.io/csi-volumesnapshot-class. Per questo
-
È necessario creare il tridente VolumeSnapshotClass.
-
Modificare l'etichetta della classe trident-snapshotclass e impostarla su
velero.io/csi-volumesnapshot-class=true come mostrato di seguito.
Verificare che gli snapshot possano persistere anche se gli oggetti VolumeSnapshot vengono eliminati. A tale scopo, impostare deletionPolicy su Retain. In caso contrario, l'eliminazione di uno spazio dei nomi perderà completamente tutti i PVC di cui è stato eseguito il backup.
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: trident-snapshotclass driver: csi.trident.netapp.io deletionPolicy: Retain
Verificare che DataProtectionApplication sia stato creato e che sia in condizioni:riconciliato.
L'operatore OADP creerà un BackupStorageLocation corrispondente. Questo verrà utilizzato durante la creazione di un backup.