Upgrade mit dem Bediener
Sie können eine bestehende Astra Trident-Installation ganz einfach mithilfe des Betreibers aufrüsten.
Um mit dem Bediener zu aktualisieren, sollten die folgenden Bedingungen erfüllt sein:
-
Sie benötigen eine CSI-basierte Astra Trident-Installation. Alle Versionen von 19.07 sind CSI-basiert. Sie können die Pods in Ihrem Trident Namespace überprüfen und überprüfen.
-
Die Benennung von Pods in Versionen vor 23.01 folgt A
trident-csi-*
übereinkommen. -
Pod-Benennungen in 23.01 und höher:
trident-controller-<generated id>
Für den Controller PODtrident-node-<operating system>-<generated id>
Für die Node-Pods:trident-operator-<generated id>
Für den Bediener-POD.
-
-
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.
-
Ein Kubernetes-Cluster sollte ausgeführt werden "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".
|
Upgrade einer Installation des Trident Operators mit Cluster-Umfang
Führen Sie die folgenden Schritte aus, um eine Installation des Trident Operators mit Cluster-Umfang zu aktualisieren. Alle Astra Trident Versionen 21.01 und höher verwenden einen Operator mit Cluster-Umfang.
-
Überprüfen Sie die Astra Trident Version:
./tridentctl -n trident version
-
Löschen Sie den Trident-Operator, der zur Installation der aktuellen Astra Trident-Instanz verwendet wurde. Wenn Sie beispielsweise ein Upgrade von 22.01 durchführen, führen Sie den folgenden Befehl aus:
kubectl delete -f 22.01/trident-installer/deploy/bundle.yaml -n trident
-
Wenn Sie Ihre Erstinstallation mit angepasst haben
TridentOrchestrator
Attribute, können Sie die bearbeitenTridentOrchestrator
Objekt zum Ändern der Installationsparameter. Dies kann auch Änderungen umfassen, die an der Angabe gespiegelter Trident- und CSI-Image-Register für den Offline-Modus vorgenommen wurden, Debug-Protokolle aktivieren oder Geheimnisse für die Bildausziehung angeben. -
Installieren Sie Astra Trident mit der richtigen Paket-YAML-Datei für Ihre Umgebung und Astra Trident-Version. Wenn Sie beispielsweise Astra Trident 23.01 für Kubernetes 1.26 installieren, führen Sie den folgenden Befehl aus:
kubectl create -f 23.01.1/trident-installer/deploy/bundle_post_1_25.yaml -n trident
Trident stellt eine Paketdatei bereit, mit der der Operator installiert und damit verknüpfte Objekte für die Kubernetes-Version erstellt werden können.
-
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".
-
Der Trident-Operator identifiziert eine bestehende Astra Trident-Installation und aktualisiert sie auf die gleiche Version wie der Operator.
Aktualisieren einer Installation des Namespace-Scoped-Operators
Führen Sie die folgenden Schritte aus, um von einer Instanz von Astra Trident zu aktualisieren, die mit dem Namespace-Scoped Operator (Versionen 20.07 bis 20.10) installiert wurde.
-
Ü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 [23.01.1] mkdir 23.01.1 cd 23.01.1 wget https://github.com/NetApp/trident/releases/download/v23.01.1/trident-installer-23.01.1.tar.gz tar -xf trident-installer-23.01.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 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 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> -n trident 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 Trident Operator.
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 wurde für Trident ein Upgrade auf 23.01.1 durchgeführt.Ein Upgrade des Astra Trident mithilfe des Trident Operators führt zu einer 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/23.01.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-controller-79df798bdc-m79dc 6/6 Running 0 1m41s trident-node-linux-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: v23.01.1
Der trident-controller
Zudem geben die Pod-Namen die im Jahr 23.01 eingeführte Namenskonvention wieder.
Aktualisieren einer Helm-basierten Bedienerinstallation
Führen Sie die folgenden Schritte durch, um eine Helm-basierte Bedienerinstallation zu aktualisieren.
Wenn Sie ein Kubernetes-Cluster von 1.24 auf 1.25 oder höher aktualisieren, auf das Astra Trident installiert ist, müssen Sie Werte.yaml aktualisieren excludePodSecurityPolicy Bis true Oder hinzufügen --set excludePodSecurityPolicy=true Bis zum helm upgrade Befehl bevor Sie ein Upgrade des Clusters durchführen können.
|
-
Laden Sie die neueste Version von Astra Trident herunter.
-
Verwenden Sie die
helm upgrade
Befehl wotrident-operator-23.01.1.tgz
Gibt die Version an, auf die Sie ein Upgrade durchführen möchten.helm upgrade <name> trident-operator-23.01.1.tgz
Wenn Sie während der Erstinstallation alle nicht standardmäßigen Optionen festlegen (z. B. Private, gespiegelte Registryes für Trident- und CSI-Images), verwenden Sie
--set
Um sicherzustellen, dass diese Optionen im Upgrade-Befehl enthalten sind, werden die Werte andernfalls auf die Standardeinstellung zurückgesetzt.Um beispielsweise den Standardwert von zu ändern
tridentDebug
, Ausführen des folgenden Befehls:helm upgrade <name> trident-operator-23.01.1-custom.tgz --set tridentDebug=true
-
Laufen
helm list
Um zu überprüfen, ob sowohl die Karten- als auch die App-Version aktualisiert wurden. Laufentridentctl logs
Um alle Debug-Nachrichten zu überprüfen.
Der Trident-Operator identifiziert eine bestehende Astra Trident-Installation und aktualisiert sie auf die gleiche Version wie der Operator.
Upgrade von einer nicht-Betreiber-Installation
Sie können ein Upgrade auf die neueste Version des Trident-Operators von durchführen tridentctl
Installation:
-
Laden Sie die neueste Version von Astra Trident herunter.
# Download the release required [23.01.1] mkdir 23.01.1 cd 23.01.1 wget https://github.com/NetApp/trident/releases/download/v22.01.1/trident-installer-23.01.1.tar.gz tar -xf trident-installer-23.01.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-controller-79df798bdc-m79dc 6/6 Running 0 150d trident-node-linux-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 initiate 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: v23.01.1
Die vorhandenen Back-Ends und PVCs stehen automatisch zur Verfügung.