Upgrade mit dem Bediener
Sie können eine bestehende Astra Trident-Installation ganz einfach mithilfe des Betreibers aufrüsten.
Zur Aktualisierung mit Hilfe des Bedieners sollten die folgenden Bedingungen erfüllt sein:
-
Sie sollten über eine CSI-basierte Astra Trident-Installation verfügen. Überprüfen Sie Ihre Pods im Trident Namespace, ob Sie CSI Trident ausführen. Wenn sie dem folgen
trident-csi-*
Benennungsmuster wird CSI Trident ausgeführt. -
Sie sollten über eine CRD-basierte Trident Installation verfügen. Dies entspricht allen Versionen von 19.07 und höher. Wenn Sie eine CSI-basierte Installation haben, verfügen Sie wahrscheinlich über eine CRD-basierte Installation.
-
Wenn Sie CSI Trident deinstalliert haben und die Metadaten aus der Installation beibehalten werden, können Sie mithilfe des Operators ein Upgrade durchführen.
-
Es sollte nur eine Astra Trident Installation über alle Namespaces in einem bestimmten Kubernetes Cluster hinweg vorhanden sein.
-
Sie sollten ein Kubernetes-Cluster verwenden, der ausgeführt wird "Eine unterstützte Kubernetes Version".
-
Wenn Alpha-Snapshot-CRDs vorhanden sind, sollten Sie sie mit entfernen
tridentctl obliviate alpha-snapshot-crd
. Dadurch werden die CRDs für die Alpha-Snapshot-Spezifikation gelöscht. Informationen zu vorhandenen Snapshots, die gelöscht/migriert werden sollen, finden Sie unter "Diesem Blog".
Wenn Sie das Upgrade von Trident mithilfe des Betreibers für OpenShift Container Platform vornehmen, sollten Sie ein Upgrade auf Trident 21.01.1 oder höher durchführen. Der mit 21.01.0 veröffentlichte Trident-Operator enthält ein bekanntes Problem, das in 21.01.1 behoben wurde. Weitere Informationen finden Sie im "Details zur Ausgabe auf GitHub". |
Upgrade einer Cluster-Scoped Operator-Installation
Führen Sie die folgenden Schritte aus, um ein Upgrade von Trident 21.01 und höher durchzuführen.
-
Löschen Sie den Trident-Operator, der zur Installation der aktuellen Astra Trident-Instanz verwendet wurde. Wenn Sie beispielsweise ein Upgrade von 21.01 durchführen, führen Sie den folgenden Befehl aus:
kubectl delete -f 22.01/trident-installer/deploy/BUNDLE.YAML -n trident
-
Optional können Sie den bearbeiten
TridentOrchestrator
Objekt, das Sie beim Installieren von Trident erstellt haben, um die Installationsparameter zu ändern. Dies kann Änderungen umfassen, z. B. das Ändern des benutzerdefinierten Trident-Images, die private Image-Registrierung zum Übertragen von Container-Images, das Aktivieren von Debug-Protokollen oder die Angabe von Pull-Secrets für Bilder. -
Installieren Sie Astra Trident mit der richtigen Paket-YAML-Datei für Ihre Umgebung und Astra Trident-Version von
https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/BUNDLE.YAML
WovXX.XX
Ist die Versionsnummer (zum Beispielv22.10
) UndBUNDLE.YAML
Ist der Name der Paket-YAML-Datei.-
Verwenden Sie für Cluster mit Kubernetes 1.24 oder älter "Bundle_pre_1_25.yaml".
-
Verwenden Sie für Cluster mit Kubernetes 1.25 oder höher "Bundle_Post_1_25.yaml".
Wenn Sie beispielsweise Astra Trident 22.10 für Kubernetes 1.25 installieren, führen Sie den folgenden Befehl aus:
kubectl create -f 22.10.0/trident-installer/deploy/bundle_post_1_25.yaml -n trident
In diesem Schritt identifiziert der Trident-Operator eine bestehende Astra Trident-Installation und aktualisiert sie auf die gleiche Version wie der Operator.
-
Aktualisieren einer Installation des Namespace-Scoped-Operators
Um von einer Instanz von Astra Trident zu aktualisieren, die mit dem Namespace-Scoped Operator (Versionen 20.07 bis 20.10) installiert wurde, gehen Sie wie folgt vor:
-
Überprüfen Sie den Status der vorhandenen Trident Installation. Prüfen Sie dazu den Status von
TridentProvisioner
. Der Status sollte seinInstalled
.kubectl describe tprov trident -n trident | grep Message: -A 3 Message: Trident installed Status: Installed Version: v20.10.1
Wenn der Status angezeigt wird Updating
, Stellen Sie sicher, dass Sie es lösen, bevor Sie fortfahren. Eine Liste möglicher Statuswerte finden Sie unter "Hier". -
Erstellen Sie die
TridentOrchestrator
CRD mit dem Manifest, das mit dem Trident-Installer bereitgestellt wurde.# Download the release required [22.10.0] mkdir 22.10.0 cd 22.10.0 wget https://github.com/NetApp/trident/releases/download/v22.10.0/trident-installer-22.10.0.tar.gz tar -xf trident-installer-22.10.0.tar.gz cd trident-installer kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
Löschen Sie den Operator Namespace-Scoped mithilfe des Manifests. Um diesen Schritt abzuschließen, benötigen Sie die Paket-YAML-Datei, die zum Bereitstellen des Namespace-Scoped-Operators von verwendet wird
https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/BUNDLE.YAML
WovXX.XX
Ist die Versionsnummer (zum Beispielv22.10
) UndBUNDLE.YAML
Ist der Name der Paket-YAML-Datei.Sie sollten die erforderlichen Änderungen an den Trident Installationsparametern vornehmen (z. B. Ändern der Werte für tridentImage
,autosupportImage
, Ein privates Image Repository von und dasimagePullSecrets
) Nach dem Löschen des Operator Namespace-scoped und vor der Installation des Operators Cluster-scoped. Eine vollständige Liste der Parameter, die aktualisiert werden können, finden Sie im "Konfigurationsoptionen".#Ensure you are in the right directory pwd /root/20.10.1/trident-installer #Delete the namespace-scoped operator kubectl delete -f deploy/<BUNDLE.YAML> serviceaccount "trident-operator" deleted clusterrole.rbac.authorization.k8s.io "trident-operator" deleted clusterrolebinding.rbac.authorization.k8s.io "trident-operator" deleted deployment.apps "trident-operator" deleted podsecuritypolicy.policy "tridentoperatorpods" deleted #Confirm the Trident operator was removed kubectl get all -n trident NAME READY STATUS RESTARTS AGE pod/trident-csi-68d979fb85-dsrmn 6/6 Running 12 99d pod/trident-csi-8jfhf 2/2 Running 6 105d pod/trident-csi-jtnjz 2/2 Running 6 105d pod/trident-csi-lcxvh 2/2 Running 8 105d NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/trident-csi ClusterIP 10.108.174.125 <none> 34571/TCP,9220/TCP 105d NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/trident-csi 3 3 3 3 3 kubernetes.io/arch=amd64,kubernetes.io/os=linux 105d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/trident-csi 1/1 1 1 105d NAME DESIRED CURRENT READY AGE replicaset.apps/trident-csi-68d979fb85 1 1 1 105d
In dieser Phase, der
trident-operator-xxxxxxxxxx-xxxxx
Pod wurde gelöscht. -
(Optional) Wenn die Installationsparameter geändert werden müssen, aktualisieren Sie den
TridentProvisioner
Spez. Dies können Änderungen sein, wie z. B. das Ändern der privaten Image-Registry zum Ziehen von Container-Images, das Aktivieren von Debug-Protokollen oder das Festlegen von Image Pull Secrets.kubectl patch tprov <trident-provisioner-name> -n <trident-namespace> --type=merge -p '{"spec":{"debug":true}}'
-
Installieren Sie den Operator Cluster-Scoped.
Durch die Installation des Operators Cluster-Scoped wird die Migration von initiiert TridentProvisioner
Objekte anTridentOrchestrator
Objekte, löschtTridentProvisioner
Objekte und dastridentprovisioner
CRD, und aktualisiert Astra Trident auf die Version des verwendeten Cluster-Scoped-Betreibers. Im folgenden Beispiel wird Trident auf 22.10.0 aktualisiert.Ein Upgrade von Astra Trident mithilfe von Operator mit Cluster-Umfang führt zur Migration von tridentProvisioner
Zu AtridentOrchestrator
Objekt mit dem gleichen Namen. Dieser Vorgang wird automatisch vom Betreiber übernommen. Auch Astra Trident ist auf dem Upgrade im selben Namespace wie zuvor installiert.#Ensure you are in the correct directory pwd /root/22.10.0/trident-installer #Install the cluster-scoped operator in the **same namespace** kubectl create -f deploy/<BUNDLE.YAML> serviceaccount/trident-operator created clusterrole.rbac.authorization.k8s.io/trident-operator created clusterrolebinding.rbac.authorization.k8s.io/trident-operator created deployment.apps/trident-operator created podsecuritypolicy.policy/tridentoperatorpods created #All tridentProvisioners will be removed, including the CRD itself kubectl get tprov -n trident Error from server (NotFound): Unable to list "trident.netapp.io/v1, Resource=tridentprovisioners": the server could not find the requested resource (get tridentprovisioners.trident.netapp.io) #tridentProvisioners are replaced by tridentOrchestrator kubectl get torc NAME AGE trident 13s #Examine Trident pods in the namespace kubectl get pods -n trident NAME READY STATUS RESTARTS AGE trident-csi-79df798bdc-m79dc 6/6 Running 0 1m41s trident-csi-xrst8 2/2 Running 0 1m41s trident-operator-5574dbbc68-nthjv 1/1 Running 0 1m52s #Confirm Trident has been updated to the desired version kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v22.10.0
Aktualisieren einer Helm-basierten Bedienerinstallation
Führen Sie die folgenden Schritte durch, um eine Helm-basierte Bedienerinstallation zu aktualisieren.
-
Laden Sie die neueste Version von Astra Trident herunter.
-
Verwenden Sie die
helm upgrade
Befehl. Das folgende Beispiel zeigt:helm upgrade <name> trident-operator-22.10.0.tgz
Wo
trident-operator-22.10.0.tgz
Gibt die Version an, auf die Sie ein Upgrade durchführen möchten. -
Laufen
helm list
Um zu überprüfen, ob sowohl die Karten- als auch die App-Version aktualisiert wurden.
Um Konfigurationsdaten während des Upgrades weiterzuleiten, verwenden Sie --set .
|
Um beispielsweise den Standardwert von zu ändern tridentDebug
, Ausführen des folgenden Befehls:
helm upgrade <name> trident-operator-22.10.0-custom.tgz --set tridentDebug=true
Wenn Sie ausführen tridentctl logs
, Sie können die Debug-Nachrichten sehen.
Wenn Sie während der Erstinstallation keine Standardoptionen festlegen, stellen Sie sicher, dass die Optionen im Befehl Upgrade enthalten sind, oder werden die Werte auf ihre Standardeinstellungen zurückgesetzt. |
Upgrade von einer nicht-Betreiber-Installation
Wenn Sie über eine CSI Trident-Instanz verfügen, die die oben genannten Voraussetzungen erfüllt, können Sie ein Upgrade auf die aktuelle Version des Trident-Operators durchführen.
-
Laden Sie die neueste Version von Astra Trident herunter.
# Download the release required [22.10.0] mkdir 22.10.0 cd 22.10.0 wget https://github.com/NetApp/trident/releases/download/v22.10.0/trident-installer-22.10.0.tar.gz tar -xf trident-installer-22.10.0.tar.gz cd trident-installer
-
Erstellen Sie die
tridentorchestrator
CRD aus dem Manifest.kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
-
Stellen Sie den Bediener bereit.
#Install the cluster-scoped operator in the **same namespace** kubectl create -f deploy/<BUNDLE.YAML> serviceaccount/trident-operator created clusterrole.rbac.authorization.k8s.io/trident-operator created clusterrolebinding.rbac.authorization.k8s.io/trident-operator created deployment.apps/trident-operator created podsecuritypolicy.policy/tridentoperatorpods created #Examine the pods in the Trident namespace NAME READY STATUS RESTARTS AGE trident-csi-79df798bdc-m79dc 6/6 Running 0 150d trident-csi-xrst8 2/2 Running 0 150d trident-operator-5574dbbc68-nthjv 1/1 Running 0 1m30s
-
Erstellen Sie ein
TridentOrchestrator
CR für die Installation von Astra Trident.#Create a tridentOrchestrator to initate a Trident install cat deploy/crds/tridentorchestrator_cr.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident kubectl create -f deploy/crds/tridentorchestrator_cr.yaml #Examine the pods in the Trident namespace NAME READY STATUS RESTARTS AGE trident-csi-79df798bdc-m79dc 6/6 Running 0 1m trident-csi-xrst8 2/2 Running 0 1m trident-operator-5574dbbc68-nthjv 1/1 Running 0 5m41s #Confirm Trident was upgraded to the desired version kubectl describe torc trident | grep Message -A 3 Message: Trident installed Namespace: trident Status: Installed Version: v22.10.0
Die vorhandenen Back-Ends und PVCs stehen automatisch zur Verfügung.