Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

與營運者一起升級

貢獻者

您可以使用操作員手動或使用 Helm 輕鬆升級現有的 Astra Trident 安裝。

使用Trident營運者進行升級

一般而言、您應該使用原本用於安裝 Astra Trident 的相同方法來升級 Astra Trident 。檢閱 "選擇升級方法" 嘗試與 Trident 運算子一起升級之前。

重要

從使用命名空間範圍運算子( 20.07 至 20.10 版)安裝的 Astra Trident 執行個體升級時、 Trident 運算子會自動:

  • 移轉 tridentProvisionertridentOrchestrator 具有相同名稱的物件、

  • 刪除 TridentProvisioner 物件和 tridentprovisioner 客戶需求日

  • 將 Astra Trident 升級至使用的叢集範圍運算子版本

  • 在最初安裝 Astra Trident 的相同命名空間中安裝 Astra Trident

升級叢集範圍的Trident操作員安裝

您可以升級叢集範圍的 Trident 運算子安裝。所有Astra Trident版本21.01及更新版本均使用叢集範圍的運算子。

開始之前

確保您使用的是執行中的 Kubernetes 叢集 "支援的Kubernetes版本"

步驟
  1. 驗證 Astra Trident 版本:

    ./tridentctl -n trident version
  2. 刪除用來安裝目前Astra Trident執行個體的Trident運算子。例如、如果您要從 22.01 升級、請執行下列命令:

    kubectl delete -f 22.01/trident-installer/deploy/bundle.yaml -n trident
  3. 如果您使用自訂初始安裝 TridentOrchestrator 屬性、您可以編輯 TridentOrchestrator 物件以修改安裝參數。這可能包括針對離線模式指定鏡射Trident和csi映像登錄、啟用偵錯記錄或指定映像提取機密所做的變更。

  4. 使用適用於您環境的正確套裝組合Yaml檔案和Astra Trident版本來安裝Astra Trident。例如、如果您要為 Kubernetes 1.27 安裝 Astra Trident 23.04 、請執行下列命令:

    kubectl create -f 23.04.0/trident-installer/deploy/bundle_post_1_25.yaml -n trident
    註

    Trident提供一個套裝組合檔案、可用來安裝運算子、並為Kubernetes版本建立相關的物件。

結果

Trident營運者將識別現有的Astra Trident安裝、並將其升級至與營運者相同的版本。

升級命名空間範圍內的操作員安裝

您可以使用命名空間範圍運算子( 20.07 至 20.10 版)、從安裝的 Astra Trident 執行個體升級到叢集範圍的運算子安裝。

開始之前

您需要用來部署命名空間範圍運算子的套件 YAML 檔案 https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/BUNDLE.YAML 其中 vXX.XX 為版本編號和 BUNDLE.YAML 為套裝組合Yaml檔案名稱。

步驟
  1. 驗證 TridentProvisioner 現有 Trident 安裝的狀態為 Installed

    kubectl describe tprov trident -n trident | grep Message: -A 3
    
    Message:  Trident installed
    Status:   Installed
    Version:  v20.10.1
    註 如果狀態顯示 Updating、請務必先解決此問題、再繼續進行。如需可能狀態值的清單、請參閱 "請按這裡"
  2. 建立 TridentOrchestrator 請使用Trident安裝程式隨附的資訊清單來進行CRD。

    # Download the release required [23.04.0]
    mkdir 23.04.0
    cd 23.04.0
    wget https://github.com/NetApp/trident/releases/download/v23.04.0/trident-installer-23.04.0.tar.gz
    tar -xf trident-installer-23.04.0.tar.gz
    cd trident-installer
    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. 使用命名空間範圍的運算子資訊清單來刪除。

    1. 確保您位於正確的目錄中。

      pwd
      /root/20.10.1/trident-installer
    2. 刪除命名空間範圍運算子。

      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
    3. 確認 Trident 運算子已移除。

      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
  4. (選用)如果需要修改安裝參數、請更新 TridentProvisioner 規格這可能包括變更:的值 tridentImageautosupportImage、私有映像儲存庫、以及提供 imagePullSecrets)刪除命名空間範圍的運算子之後、安裝叢集範圍的運算子之前。如需可更新的完整參數清單、請參閱 "組態選項"

    kubectl patch tprov <trident-provisioner-name> -n <trident-namespace> --type=merge -p '{"spec":{"debug":true}}'
  5. 安裝 Trident 叢集範圍運算子。

    1. 確保您位於正確的目錄中。

      pwd
      /root/23.04.0/trident-installer
    2. 在同一個命名空間中安裝叢集範圍的運算子。

      註

      Trident提供一個套裝組合檔案、可用來安裝運算子、並為Kubernetes版本建立相關的物件。

      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
    3. 檢查命名空間中的 Trident Pod 。。 trident-controller 和Pod名稱反映了23.01中引入的命名慣例。

      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
    4. 確認 Trident 已更新至所需版本。

      kubectl describe torc trident | grep Message -A 3
      Message:                Trident installed
      Namespace:              trident
      Status:                 Installed
      Version:                v23.04.0

升級Helm型的營運者安裝

請執行下列步驟、升級Helm型的操作員安裝。

警告 將Kubernetes叢集從1.24升級至1.25或更新版本、且已安裝Astra Trident時、您必須更新vales.yaml才能設定 excludePodSecurityPolicytrue 或新增 --set excludePodSecurityPolicy=truehelm upgrade 命令、然後才能升級叢集。
步驟
  1. 下載最新的Astra Trident版本。

  2. 使用 helm upgrade 命令位置 trident-operator-23.04.0.tgz 反映您要升級的版本。

    helm upgrade <name> trident-operator-23.04.0.tgz
    註

    如果您在初始安裝期間設定任何非預設選項(例如指定Trident和csi映像的私有、鏡射登錄)、請使用 --set 為了確保升級命令中包含這些選項、否則這些值會重設為預設值。

    例如、變更的預設值 tridentDebug,執行下列命令:

    helm upgrade <name> trident-operator-23.04.0-custom.tgz --set tridentDebug=true
  3. 執行 helm list 以確認圖表和應用程式版本均已升級。執行 tridentctl logs 以檢閱任何偵錯訊息。

結果

Trident營運者將識別現有的Astra Trident安裝、並將其升級至與營運者相同的版本。

從非營運者安裝升級

您可以從升級至最新版的Trident運算子 tridentctl 安裝:

步驟
  1. 下載最新的Astra Trident版本。

    # Download the release required [23.04.0]
    mkdir 23.04.0
    cd 23.04.0
    wget https://github.com/NetApp/trident/releases/download/v22.01.1/trident-installer-23.04.0.tar.gz
    tar -xf trident-installer-23.04.0.tar.gz
    cd trident-installer
  2. 建立 tridentorchestrator 資訊清單中的CRD。

    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. 在同一個命名空間中部署叢集範圍的運算子。

    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. 建立 TridentOrchestrator 用於安裝Astra Trident的CR。

    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
  5. 確認 Trident 已升級至所需版本。

    kubectl describe torc trident | grep Message -A 3
    
    Message:                Trident installed
    Namespace:              trident
    Status:                 Installed
    Version:                v23.04.0
結果

現有的後端和PVCS會自動提供使用。