Installation des OpenShift API for Data Protection (OADP)-Operators
In diesem Abschnitt wird die Installation des OpenShift API for Data Protection (OADP) Operator beschrieben.
Voraussetzungen
-
Ein Red Hat OpenShift-Cluster (neuer als Version 4.12), installiert auf einer Bare-Metal-Infrastruktur mit RHCOS-Worker-Knoten
-
Ein NetApp ONTAP -Cluster, der über Trident in den Cluster integriert ist
-
Ein Trident -Backend, das mit einem SVM auf einem ONTAP -Cluster konfiguriert ist
-
Eine auf dem OpenShift-Cluster konfigurierte StorageClass mit Trident als Provisioner
-
Auf dem Cluster erstellte Trident Snapshot-Klasse
-
Cluster-Admin-Zugriff auf den Red Hat OpenShift-Cluster
-
Administratorzugriff auf NetApp ONTAP -Cluster
-
Eine Anwendung, zB PostgreSQL, die auf dem Cluster bereitgestellt wird
-
Eine Admin-Workstation mit installierten und zu $PATH hinzugefügten Tridentctl- und OC-Tools
Schritte zur Installation des OADP-Operators
-
Gehen Sie zum Operator Hub des Clusters und wählen Sie den Red Hat OADP-Operator aus. Verwenden Sie auf der Installationsseite alle Standardauswahlen und klicken Sie auf „Installieren“. Verwenden Sie auf der nächsten Seite erneut alle Standardeinstellungen und klicken Sie auf Installieren. Der OADP-Operator wird im Namespace openshift-adp installiert.
Voraussetzungen für die Velero-Konfiguration mit Ontap S3-Details
Nachdem die Installation des Operators erfolgreich war, konfigurieren Sie die Velero-Instanz. Velero kann für die Verwendung von S3-kompatiblem Object Storage konfiguriert werden. Konfigurieren Sie ONTAP S3 mit den Verfahren, die im"Abschnitt „Object Storage Management“ der ONTAP Dokumentation" . Für die Integration mit Velero benötigen Sie die folgenden Informationen aus Ihrer ONTAP S3-Konfiguration.
-
Eine logische Schnittstelle (LIF), die für den Zugriff auf S3 verwendet werden kann
-
Benutzeranmeldeinformationen für den Zugriff auf S3, einschließlich des Zugriffsschlüssels und des geheimen Zugriffsschlüssels
-
Ein Bucket-Name in S3 für Backups mit Zugriffsberechtigungen für den Benutzer
-
Für einen sicheren Zugriff auf den Objektspeicher sollte auf dem Objektspeicherserver ein TLS-Zertifikat installiert werden.
Voraussetzungen für die Velero-Konfiguration mit StorageGrid S3-Details
Velero kann für die Verwendung von S3-kompatiblem Object Storage konfiguriert werden. Sie können StorageGrid S3 mit den im folgenden Abschnitt beschriebenen Verfahren konfigurieren."StorageGrid-Dokumentation" . Für die Integration mit Velero benötigen Sie die folgenden Informationen aus Ihrer StorageGrid S3-Konfiguration.
-
Der Endpunkt, der für den Zugriff auf S3 verwendet werden kann
-
Benutzeranmeldeinformationen für den Zugriff auf S3, einschließlich des Zugriffsschlüssels und des geheimen Zugriffsschlüssels
-
Ein Bucket-Name in S3 für Backups mit Zugriffsberechtigungen für den Benutzer
-
Für einen sicheren Zugriff auf den Objektspeicher sollte auf dem Objektspeicherserver ein TLS-Zertifikat installiert werden.
Schritte zum Konfigurieren von Velero
-
Erstellen Sie zunächst ein Geheimnis für die Benutzeranmeldeinformationen eines ONTAP S3 oder eines StorageGrid Tenant. Dies wird später zur Konfiguration von Velero verwendet. Sie können ein Geheimnis über die CLI oder die Webkonsole erstellen. Um ein Geheimnis über die Webkonsole zu erstellen, wählen Sie „Geheimnisse“ aus und klicken Sie dann auf „Schlüssel/Wert-Geheimnis“. Geben Sie die Werte für den Anmeldeinformationsnamen, den Schlüssel und den Wert wie angezeigt ein. Stellen Sie sicher, dass Sie die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel Ihres S3-Benutzers verwenden. Geben Sie dem Geheimnis einen passenden Namen. Im folgenden Beispiel wird ein Geheimnis mit ONTAP S3-Benutzeranmeldeinformationen namens ontap-s3-credentials erstellt.
Um ein Geheimnis mit dem Namen sg-s3-credentials über die CLI zu erstellen, können Sie den folgenden Befehl verwenden.
-
Um Velero zu konfigurieren, wählen Sie als Nächstes im Menüpunkt „Operatoren“ die Option „Installierte Operatoren“ aus, klicken Sie auf den OADP-Operator und wählen Sie dann die Registerkarte DataProtectionApplication aus.
Klicken Sie auf „DataProtectionApplication erstellen“. Geben Sie in der Formularansicht einen Namen für die DataProtection-Anwendung ein oder verwenden Sie den Standardnamen.
Gehen Sie nun zur YAML-Ansicht und ersetzen Sie die Spezifikationsinformationen wie in den folgenden YAML-Dateibeispielen gezeigt.
Beispiel-YAML-Datei zum Konfigurieren von Velero mit ONTAP S3 als Backup-Speicherort
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
Beispiel-YAML-Datei zum Konfigurieren von Velero mit StorageGrid S3 als Backup-Speicherort
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
Der Abschnitt „Spec“ in der YAML-Datei sollte für die folgenden Parameter entsprechend dem obigen Beispiel konfiguriert werden.
backupLocations ONTAP S3 oder StorageGrid S3 (mit seinen Anmeldeinformationen und anderen Informationen, wie im YAML angezeigt) ist als Standard-BackupLocation für Velero konfiguriert.
snapshotLocations Wenn Sie Container Storage Interface (CSI)-Snapshots verwenden, müssen Sie keinen Snapshot-Speicherort angeben, da Sie ein VolumeSnapshotClass CR erstellen, um den CSI-Treiber zu registrieren. In unserem Beispiel verwenden Sie Trident CSI und haben zuvor VolumeSnapShotClass CR mit dem Trident CSI-Treiber erstellt.
CSI-Plugin aktivieren Fügen Sie csi zu den Standard-Plugins für Velero hinzu, um persistente Volumes mit CSI-Snapshots zu sichern. Die Velero CSI-Plugins wählen zum Sichern von CSI-gestützten PVCs die VolumeSnapshotClass im Cluster aus, auf die das Label velero.io/csi-volumesnapshot-class gesetzt ist. Dafür
-
Sie müssen die Trident VolumeSnapshotClass erstellt haben.
-
Bearbeiten Sie die Bezeichnung der Trident-Snapshot-Klasse und setzen Sie sie wie unten gezeigt auf velero.io/csi-volumesnapshot-class=true.
Stellen Sie sicher, dass die Snapshots auch dann bestehen bleiben, wenn die VolumeSnapshot-Objekte gelöscht werden. Dies kann durch Festlegen der deletionPolicy auf „Beibehalten“ erfolgen. Andernfalls gehen beim Löschen eines Namespace alle darin jemals gesicherten PVCs vollständig verloren.
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: trident-snapshotclass driver: csi.trident.netapp.io deletionPolicy: Retain
Stellen Sie sicher, dass die DataProtectionApplication erstellt wurde und sich im Zustand „Abgestimmt“ befindet.
Der OADP-Operator erstellt einen entsprechenden BackupStorageLocation. Dieser wird beim Erstellen eines Backups verwendet.