Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Upgrade mit dem Bediener

Beitragende

Sie können eine bestehende Astra Trident-Installation ganz einfach mithilfe des Betreibers aufrüsten.

Bevor Sie beginnen

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 POD trident-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".

Warnung
  • 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".

  • Verwenden Sie den Operator zum Aktualisieren von Trident nicht, wenn Sie ein verwenden etcd-Based Trident Release (19.04 oder früher).

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.

Schritte
  1. 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
  2. Wenn Sie Ihre Erstinstallation mit angepasst haben TridentOrchestrator Attribute, können Sie die bearbeiten TridentOrchestrator 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.

  3. 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.0/trident-installer/deploy/bundle_post_1_25.yaml -n trident
    Anmerkung

    Trident stellt eine Paketdatei bereit, mit der der Operator installiert und damit verknüpfte Objekte für die Kubernetes-Version erstellt werden können.

Ergebnisse

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.

Schritte
  1. Überprüfen Sie den Status der vorhandenen Trident Installation. Prüfen Sie dazu den Status von TridentProvisioner. Der Status sollte sein Installed.

    kubectl describe tprov trident -n trident | grep Message: -A 3
    Message:  Trident installed
    Status:   Installed
    Version:  v20.10.1
    Anmerkung 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".
  2. Erstellen Sie die TridentOrchestrator CRD mit dem Manifest, das mit dem Trident-Installer bereitgestellt wurde.

    # Download the release required [23.01.0]
    mkdir 23.01.0
    cd 23.01.0
    wget https://github.com/NetApp/trident/releases/download/v23.01.0/trident-installer-23.01.0.tar.gz
    tar -xf trident-installer-23.01.0.tar.gz
    cd trident-installer
    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. 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 Wo vXX.XX Ist die Versionsnummer und BUNDLE.YAML Ist der Name der Paket-YAML-Datei.

    Anmerkung 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 das imagePullSecrets) 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.

  4. (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}}'
  5. Installieren Sie den Trident Operator.

    Anmerkung Durch die Installation des Operators Cluster-Scoped wird die Migration von initiiert TridentProvisioner Objekte an TridentOrchestrator Objekte, löscht TridentProvisioner Objekte und das tridentprovisioner CRD, und aktualisiert Astra Trident auf die Version des verwendeten Cluster-Scoped-Betreibers. Im folgenden Beispiel wird Trident auf 23.01.0 aktualisiert.
    Wichtig Ein Upgrade des Astra Trident mithilfe des Trident Operators führt zu einer Migration von tridentProvisioner Zu A tridentOrchestrator 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.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-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.0
    Anmerkung 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.

Schritte
  1. Laden Sie die neueste Version von Astra Trident herunter.

  2. Verwenden Sie die helm upgrade Befehl wo trident-operator-23.01.0.tgz Gibt die Version an, auf die Sie ein Upgrade durchführen möchten:

    helm upgrade <name> trident-operator-23.01.0.tgz
    Anmerkung

    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.0-custom.tgz --set tridentDebug=true
  3. Laufen helm list Um zu überprüfen, ob sowohl die Karten- als auch die App-Version aktualisiert wurden. Laufen tridentctl logs Um alle Debug-Nachrichten zu überprüfen.

Ergebnisse

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:

Schritte
  1. Laden Sie die neueste Version von Astra Trident herunter.

    # Download the release required [23.01.0]
    mkdir 23.01.0
    cd 23.01.0
    wget https://github.com/NetApp/trident/releases/download/v22.01.0/trident-installer-23.01.0.tar.gz
    tar -xf trident-installer-23.01.0.tar.gz
    cd trident-installer
  2. Erstellen Sie die tridentorchestrator CRD aus dem Manifest.

    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. 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
  4. 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.0
Ergebnisse

Die vorhandenen Back-Ends und PVCs stehen automatisch zur Verfügung.