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 "Version 1.17 und höher".
-
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ür ein Upgrade von Trident 21.01 und höher, hier sind die Schritte zu folgen.
-
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 21.01/trident-installer/deploy/bundle.yaml -n trident
-
(Optional) Wenn Sie die Installationsparameter ändern möchten, bearbeiten Sie das
TridentOrchestrator
Objekt, das Sie beim Installieren von Trident erstellt haben. Dies kann Änderungen umfassen, z. B. das Ändern des benutzerdefinierten Trident Images, die private Image-Registrierung zum Ziehen von Container-Images, das Aktivieren von Debug-Protokollen oder die Angabe von Pull-Secrets für Images. -
Installieren Sie Astra Trident mit dem
bundle.yaml
Datei, die den Trident-Operator für die neue Version eingerichtet hat. Führen Sie den folgenden Befehl aus:kubectl create -f 21.10.0/trident-installer/deploy/bundle.yaml -n trident
In diesem Schritt identifiziert der 21.10.0 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 [21.01] $ mkdir 21.07.1 $ cd 21.07.1 $ wget https://github.com/NetApp/trident/releases/download/v21.07.1/trident-installer-21.07.1.tar.gz $ tar -xf trident-installer-21.07.1.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
bundle.yaml
Datei, die für die Bereitstellung des Operatoren für Namespace-Scoped verwendet wird. Sie erhalten könnenbundle.yaml
Von "Trident Repository". Stellen Sie sicher, dass Sie den entsprechenden Zweig verwenden.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 "Liste der Parameter".#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 21.07.1 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/21.07.1/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: v21.07.1
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-21.07.1.tgz
Wo
trident-operator-21.07.1.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-21.07.1-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 [21.07.1] $ mkdir 21.07.1 $ cd 21.07.1 $ wget https://github.com/NetApp/trident/releases/download/v21.07.1/trident-installer-21.07.1.tar.gz $ tar -xf trident-installer-21.07.1.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: v21.07.1
Die vorhandenen Back-Ends und PVCs stehen automatisch zur Verfügung.