Upgrade mit tridentctl
Sie können eine bestehende Astra Trident Installation ganz einfach mithilfe von aufrüsten tridentctl
.
Bei einem Upgrade auf die neueste Version von Astra Trident sollten Sie Folgendes berücksichtigen:
-
Ab Trident 20.01 gilt nur als Beta-Version von "Volume Snapshots" Wird unterstützt. Kubernetes-Administratoren sollten darauf achten, dass sie die Alpha-Snapshot-Objekte sicher in Beta-Version sichern oder in sie konvertieren können, um die älteren Alpha-Snapshots zu behalten.
-
Die Beta-Version von Volume Snapshots führt einen geänderten Satz von CRDs und einen Snapshot-Controller ein, die beide vor der Installation von Astra Trident eingerichtet werden sollten.
"Diesem Blog" Erläutert die Schritte, die bei der Migration von Alpha-Volume-Snapshots in das Beta-Format erforderlich sind. |
Deinstallation und Neuinstallation von Astra Trident fungiert als Upgrade. Bei der Deinstallation von Trident werden die von der Astra Trident Implementierung verwendeten Persistent Volume Claim (PVC) und Persistent Volume (PV) nicht gelöscht. PVS, die bereits bereitgestellt wurden, bleiben verfügbar, während Astra Trident offline ist. Astra Trident stellt Volumes für alle PVCs bereit, die in der Zwischenzeit erstellt werden, sobald sie wieder online sind.
Unterbrechen Sie beim Upgrade von Astra Trident nicht den Upgrade-Prozess. Vergewissern Sie sich, dass das Installationsprogramm ausgeführt wird. |
Nächste Schritte nach dem Upgrade
Um die umfangreichen Funktionen neuerer Trident Versionen (wie On-Demand Volume Snapshots) nutzen zu können, können Sie die Volumes mit der aktualisieren tridentctl upgrade
Befehl.
Wenn es Legacy-Volumes gibt, sollten Sie diese von einem NFS/iSCSI-Typ auf den CSI-Typ upgraden, um die umfassenden neuen Funktionen in Astra Trident zu nutzen. Ein von Trident bereitgestelltes Legacy-PV unterstützt die herkömmlichen Funktionen.
Beachten Sie bei der Entscheidung, Volumes auf den CSI-Typ zu aktualisieren:
-
Möglicherweise müssen Sie nicht alle Volumes aktualisieren. Zuvor erstellte Volumes sind weiterhin zugänglich und funktionieren ordnungsgemäß.
-
Ein PV kann als Teil einer Deployment/StatupfulSet installiert werden. Es ist nicht erforderlich, die Implementierung/StatesSet herunterzufahren.
-
Sie können ein PV nicht an einen eigenständigen Pod anschließen, wenn Sie ein Upgrade durchführen. Sie sollten den POD herunterfahren, bevor Sie das Volume aktualisieren.
-
Sie können nur ein Volume aktualisieren, das an eine PVC gebunden ist. Volumes, die nicht an PVCs gebunden sind, sollten vor dem Upgrade entfernt und importiert werden.
Beispiel für ein Volume-Upgrade
Dies ist ein Beispiel, das die Durchführung eines Volume-Upgrades zeigt.
-
Laufen
kubectl get pv
So Listen Sie die PVS auf.$ kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE default-pvc-1-a8475 1073741824 RWO Delete Bound default/pvc-1 standard 19h default-pvc-2-a8486 1073741824 RWO Delete Bound default/pvc-2 standard 19h default-pvc-3-a849e 1073741824 RWO Delete Bound default/pvc-3 standard 19h default-pvc-4-a84de 1073741824 RWO Delete Bound default/pvc-4 standard 19h trident 2Gi RWO Retain Bound trident/trident 19h
Derzeit gibt es vier PVS, die von Trident 20.07 mit dem erstellt wurden
netapp.io/trident
bereitstellung: -
Laufen
kubectl describe pv
Um die Details zum PV zu erhalten.$ kubectl describe pv default-pvc-2-a8486 Name: default-pvc-2-a8486 Labels: <none> Annotations: pv.kubernetes.io/provisioned-by: netapp.io/trident volume.beta.kubernetes.io/storage-class: standard Finalizers: [kubernetes.io/pv-protection] StorageClass: standard Status: Bound Claim: default/pvc-2 Reclaim Policy: Delete Access Modes: RWO VolumeMode: Filesystem Capacity: 1073741824 Node Affinity: <none> Message: Source: Type: NFS (an NFS mount that lasts the lifetime of a pod) Server: 10.xx.xx.xx Path: /trid_1907_alpha_default_pvc_2_a8486 ReadOnly: false
Das PV wurde mit Hilfe des erstellt
netapp.io/trident
bereitstellung vom Typ NFS. Um alle neuen Funktionen von Astra Trident zu unterstützen, sollte dieses PV auf den CSI-Typ aufgerüstet werden. -
Führen Sie die aus
tridenctl upgrade volume <name-of-trident-volume>
Befehl zum Upgrade eines alten Astra Trident Volumes auf die CSI-Spezifikation.$ ./tridentctl get volumes -n trident +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | NAME | SIZE | STORAGE CLASS | PROTOCOL | BACKEND UUID | STATE | MANAGED | +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | default-pvc-2-a8486 | 1.0 GiB | standard | file | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true | | default-pvc-3-a849e | 1.0 GiB | standard | file | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true | | default-pvc-1-a8475 | 1.0 GiB | standard | file | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true | | default-pvc-4-a84de | 1.0 GiB | standard | file | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true | +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+ $ ./tridentctl upgrade volume default-pvc-2-a8486 -n trident +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | NAME | SIZE | STORAGE CLASS | PROTOCOL | BACKEND UUID | STATE | MANAGED | +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | default-pvc-2-a8486 | 1.0 GiB | standard | file | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true | +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+
-
A ausführen
kubectl describe pv
Um zu überprüfen, ob es sich bei dem Volumen um ein CSI-Volumen handelt.$ kubectl describe pv default-pvc-2-a8486 Name: default-pvc-2-a8486 Labels: <none> Annotations: pv.kubernetes.io/provisioned-by: csi.trident.netapp.io volume.beta.kubernetes.io/storage-class: standard Finalizers: [kubernetes.io/pv-protection] StorageClass: standard Status: Bound Claim: default/pvc-2 Reclaim Policy: Delete Access Modes: RWO VolumeMode: Filesystem Capacity: 1073741824 Node Affinity: <none> Message: Source: Type: CSI (a Container Storage Interface (CSI) volume source) Driver: csi.trident.netapp.io VolumeHandle: default-pvc-2-a8486 ReadOnly: false VolumeAttributes: backendUUID=c5a6f6a4-b052-423b-80d4-8fb491a14a22 internalName=trid_1907_alpha_default_pvc_2_a8486 name=default-pvc-2-a8486 protocol=file Events: <none>
Auf diese Weise können Sie Volumes des von Astra Trident erstellten NFS-/iSCSI-Typs auf Basis der einzelnen Volumes auf CSI-Typ aufrüsten.