|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Migration zu SUSE Storage
|
Es wird empfohlen, eine Longhorn-Systemsicherung zu erstellen, bevor das Upgrade durchgeführt wird. Dies stellt sicher, dass alle kritischen Ressourcen, wie Volumes und Backing-Images, gesichert werden und im Falle von Problemen wiederhergestellt werden können. |
Voraussetzungen
Werkzeuge
-
Helm v3.0 oder neuer ist erforderlich.
-
Das Longhorn-Kommandozeilenwerkzeug kann verwendet werden, um die SUSE Storage-Umgebung auf potenzielle Probleme zu überprüfen.
Authentifizierung
-
Um Helm mit dem SUSE Application Collection OCI-Chart-Repository zu authentifizieren, siehe die Helm-Authentifizierungsdokumentation.
-
Um Kubernetes zu ermöglichen, Images aus der Registry zu ziehen, folgen Sie der Kubernetes-Authentifizierungsdokumentation, um ein Secret zu erstellen und den
global.imagePullSecrets-Chart-Wert festzulegen.
Migration von Longhorn, das über Helm bereitgestellt wurde, zu SUSE Storage
Wenn Ihre vorhandene Longhorn-Installation über Helm bereitgestellt wurde, können Sie dies überprüfen, indem Sie helm list --all-namespaces ausführen. Standardmäßig heißt die Helm-Version, die zur Installation von Longhorn verwendet wird, longhorn, kann jedoch auch ein benutzerdefinierter Name sein, der vom Benutzer definiert wurde.
Erstellen Sie optional eine values.yaml-Datei mit allen benutzerdefinierten Einstellungen, die Sie während des Upgrades anwenden möchten.
Fahren Sie mit dem Upgrade auf SUSE Storage unter Verwendung des SUSE Storage-Charts fort:
helm upgrade longhorn oci://dp.apps.rancher.io/charts/suse-storage \
--namespace longhorn-system \
--version <version> \ # Replace with the version you would like to upgrade to
--set global.imagePullSecrets=<PULL_IMAGE_SECRET>
Optional, wenn Sie eine values.yaml-Datei mit benutzerdefinierten Einstellungen haben, fügen Sie sie mit dem -f-Flag hinzu:
helm upgrade longhorn oci://dp.apps.rancher.io/charts/suse-storage \
--namespace longhorn-system \
--version <version> \ # Replace with the version you would like to upgrade to
--set global.imagePullSecrets=<PULL_IMAGE_SECRET> \
-f values.yaml
Migration von Longhorn, das über den Rancher Apps Marketplace bereitgestellt wurde, zu SUSE Storage
Wenn Ihre vorhandene Longhorn-Installation über den Rancher Apps Marketplace bereitgestellt wurde, sehen Sie zwei Helm-Versionen, die mit Longhorn verbunden sind, wenn Sie helm list --all-namespaces | grep longhorn ausführen.
Das folgende Beispiel migriert Longhorn v1.10.1, das über Rancher-Charts installiert wurde, zu SUSE Storage v1.10.1.
$ helm list --all-namespaces | grep longhorn
longhorn longhorn-system 1 2025-11-12 02:58:40.877484249 +0000 UTC deployed 108.2.0+up1.10.1 v1.10.1
longhorn-crd longhorn-system 1 2025-11-12 02:58:38.192579711 +0000 UTC deployed longhorn-crd-108.2.0+up1.10.1 v1.10.1
Um die vorhandene Rancher Longhorn-Installation auf SUSE Storage zu migrieren, müssen Sie die longhorn-crd Helm-Release löschen, ohne die CRDs zu entfernen, und dann das longhorn Helm-Release upgraden, indem Sie die folgenden Schritte befolgen.
Entfernen Sie die longhorn-crd Helm-Release, während die CRDs beibehalten werden.
Um die longhorn-crd Helm-Release von Ihrem System zu entfernen und sicherzustellen, dass die Longhorn-CRDs selbst erhalten bleiben, befolgen Sie diese Schritte:
-
Überprüfen Sie die aktuelle Version Ihres
longhorn-crdHelm-Release:helm list --all-namespaces | grep longhorn-crdDie Ausgabe zeigt Ihre
longhorn-crdRelease-Details, zum Beispiel:longhorn-crd longhorn-system 1 2025-11-12 02:58:38.192579711 +0000 UTC deployed longhorn-crd-108.2.0+up1.10.1+up1.11.0 v1.10.1In diesem Beispiel ist die Release-Version
108.2.0+up1.10.1. -
Klonen Sie das
rancher/chartsRepository, das die spezifische Version deslonghorn-crdCharts enthält, die mit Ihrer aktuellen Version übereinstimmt (zum Beispiel108.2.0+up1.10.1für Longhorn v1.10.1):git clone https://github.com/rancher/charts.gitNavigieren Sie in das Verzeichnis, das Ihrer
longhorn-crdChart-Version im geklonten Repository entspricht.Oder Sie können dieses Skript ausführen, um das
longhorn-crd-Chart zu erstellen.Nach dem Ausführen des Befehls
bash ./download-longhorn-crd-chart.sh 108.2.0+up1.10.1wird daslonghorn-crdChart in das lokale Verzeichnis108.2.0+up1.10.1heruntergeladen. Öffnen Sie dann108.2.0+up1.10.1/Chart.yaml, um zu überprüfen, ob die Chart-Version mit108.2.0+up1.10.1übereinstimmt. -
Patchen Sie manuell die
helm.sh/resource-policy: keepAnnotation zu allen benutzerdefinierten Ressourcenbeschreibungen (CRDs) intemplates/crds.yamlinnerhalb deslonghorn-crdCharts, das Sie geklont haben. Dies stellt sicher, dass Helm die CRDs nicht löscht, wenn die Version deinstalliert wird. Alternativ können Sie das Skript verwenden, um die Annotation automatisch zu patchen:bash ./patch-resource-policy-annotation.sh 108.2.0+up1.10.1/templates/crds.yamlUm zu überprüfen, ob die CRDs korrekt gepatcht wurden, führen Sie aus:
vimdiff /tmp/crds.yaml.original 108.2.0+up1.10.1/templates/crds.yaml -
Upgraden Sie das
longhorn-crdHelm-Release mit dem lokal gepatchten Chart:helm upgrade longhorn-crd -n longhorn-system ./108.2.0+up1.10.1 -
Deinstallieren Sie das
longhorn-crdHelm-Release von Ihrem System. Aufgrund des angewendeten Patches bleiben die CRDs intakt.helm uninstall longhorn-crd --namespace longhorn-systemSie können sehen, dass die CRDs beim Deinstallieren der
longhorn-crdHelm-Version erhalten bleiben.$ helm uninstall longhorn-crd --namespace longhorn-system These resources were kept due to the resource policy: [CustomResourceDefinition] backingimagedatasources.longhorn.io [CustomResourceDefinition] backingimagemanagers.longhorn.io [CustomResourceDefinition] nodes.longhorn.io [CustomResourceDefinition] orphans.longhorn.io [CustomResourceDefinition] recurringjobs.longhorn.io [CustomResourceDefinition] replicas.longhorn.io [CustomResourceDefinition] settings.longhorn.io [CustomResourceDefinition] sharemanagers.longhorn.io [CustomResourceDefinition] snapshots.longhorn.io [CustomResourceDefinition] supportbundles.longhorn.io [CustomResourceDefinition] systembackups.longhorn.io [CustomResourceDefinition] systemrestores.longhorn.io [CustomResourceDefinition] backingimages.longhorn.io [CustomResourceDefinition] volumeattachments.longhorn.io [CustomResourceDefinition] volumes.longhorn.io [CustomResourceDefinition] backupbackingimages.longhorn.io [CustomResourceDefinition] backups.longhorn.io [CustomResourceDefinition] backuptargets.longhorn.io [CustomResourceDefinition] backupvolumes.longhorn.io [CustomResourceDefinition] engineimages.longhorn.io [CustomResourceDefinition] engines.longhorn.io [CustomResourceDefinition] instancemanagers.longhorn.io
Ersetzen Sie longhorn-crd durch longhorn in den Longhorn CRDs.
Nachdem Sie sichergestellt haben, dass die longhorn-crd Helm-Version deinstalliert ist, die CRDs jedoch erhalten bleiben, müssen Sie die Eigentumslabels der vorhandenen Longhorn CRDs aktualisieren, um sich auf das Haupt-longhorn Helm-Chart vorzubereiten. Wenden Sie das Shell-Skript an, um die Ersetzung durchzuführen.
Aktualisieren Sie auf SUSE Storage.
Nachdem die CRDs vorbereitet wurden, können Sie mit dem Upgrade Ihrer Longhorn-Installation auf SUSE Storage fortfahren:
helm upgrade longhorn oci://dp.apps.rancher.io/charts/suse-storage \
--namespace longhorn-system \
--version <version> \ # Replace with the version you would like to upgrade to
--set global.imagePullSecrets=<PULL_IMAGE_SECRET>
Optional, wenn Sie eine values.yaml-Datei mit benutzerdefinierten Einstellungen haben, fügen Sie sie mit dem -f-Flag hinzu:
helm upgrade longhorn oci://dp.apps.rancher.io/charts/suse-storage \
--namespace longhorn-system \
--version <version> \ # Replace with the version you would like to upgrade to
--set global.imagePullSecrets=<PULL_IMAGE_SECRET> \
-f values.yaml