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

與營運者一起升級

貢獻者

您可以使用操作員手動或使用 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會自動提供使用。