This site will be decommissioned on December 31st 2024. After that date content will be available at techdocs.broadcom.com.

升級獨立管理叢集

若要升級具有獨立管理叢集的 Tanzu Kubernetes Grid,必須先升級獨立管理叢集。在升級管理工作負載叢集的管理叢集之前,您無法升級工作負載叢集。

如果您執行的 TKG 具有 vSphere with Tanzu 主管,則不需遵循此程序。相反地,您將隨 vSphere 一起升級主管,並藉由升級其 TKr 來更新主管的 Kubernetes 版本。

如果升級管理叢集,會自動升級其執行的自動管理的套件

附註

在您已安裝 v2.1 CLI 後,除非已升級獨立管理叢集,否則該內容特定的所有 CLI 指令群組 (tanzu clustertanzu kubernetes-release) 以及所有 management-cluster 外掛程式命令 (但不包括 tanzu mc upgradetanzu mc create) 都無法使用,且不會包含在 Tanzu CLI --help 輸出中。

管理叢集和工作負載叢集會使用用戶端憑證來驗證用戶端。這些憑證的有效期為一年。若要更新憑證,請至少每年升級一次叢集,或是依照更新叢集憑證 (獨立管理叢集) 或 Vmware 知識庫文章如何在 Tanzu Kubernetes Grid 叢集中輪換憑證中所述,以手動方式輪換憑證。

必要條件

  • 您已檢閱升級的已知問題。請參閱已知問題
  • 在您執行升級管理叢集的步驟之前,已先執行升級 Tanzu Kubernetes Grid 中的步驟。
  • 如果您在網際網路受限的環境中部署了舊版 Tanzu Kubernetes Grid,則您已執行準備網際網路受限的環境中的步驟,以使用新的元件映像版本來重建並執行所需的指令碼。
  • 如果您現有的管理叢集為 1.6.0 (含) 以下的版本,並且已在沒有主管叢集的 vSphere 7 上執行,且您希望將 vSphere 升級到 vSphere 8,請將管理叢集及其工作負載叢集升級到 Tanzu Kubernetes Grid v2.1.x 或 v1.6.1,並且最好是在您從 vSphere 7 升級到 vSphere 8 之前完成。如果您是在 vSphere 7 上執行獨立管理叢集,且在您升級到 Tanzu Kubernetes Grid v2.1.x 或 v1.6.1 之前,已先將 vSphere 執行個體升級到 vSphere 8,則您必須儘快升級管理叢集和工作負載叢集。在 vSphere 8 上,不支援 v1.6.0 (含) 以下的 Tanzu Kubernetes Grid 版本。

程序

  1. 執行 tanzu login 命令,查看可用於升級的管理叢集互動式清單。

    tanzu login
    
  2. 選取您要升級的管理叢集。如需詳細資訊,請參閱列出管理叢集和變更內容

  3. 取得叢集的管理員認證。Tanzu CLI 別名 mcmanagement-cluster 的縮寫。

    tanzu mc kubeconfig get --admin
    
  4. kubectl 連線至管理叢集。


    kubectl config use-context CLUSTER-NAME-admin@CLUSTER-NAME.
    
  5. 如果管理叢集正在 Azure 上執行,請在升級叢集之前先設定 AZURE_CLIENT_SECRET 環境變數:

    export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
    
  6. 如果管理叢集最初是在 TKG v1.3 或更早版本中建立的,或者如果您不確定,請執行以下動作。這些步驟會新增一個密碼,當在 TKG v2.1 中將管理叢集升級到其以套件為基礎的組態時需要用到此密碼,但此密碼不會包含在 TKG v1.4 之前所建立的管理叢集中。

    1. 停用 package-based-cc 功能旗標,以啟用舊版管理叢集建立試執行:

      tanzu config set features.management-cluster.package-based-cc false
      
    2. 使用原始組態檔來試執行管理叢集建立作業,以針對管理叢集取得較新的舊版樣式資訊清單。例如,在 vSphere 上:

      tanzu mc create -f mgmt-config.yaml --dry-run > legacy-mgmt.yaml
      Do you want to configure vSphere with Tanzu? [y/N]: N
      Would you like to deploy a non-integrated Tanzu Kubernetes Grid management cluster on vSphere 7.0? [y/N]: y
      
      
    3. 擷取所需的 -config-values 密碼:

      cat legacy-mgmt.yaml | yq 'select(.metadata.name == "MANAGEMENT-CLUSTER-NAME-config-values")' > mgmt-config-secret.yaml
      
    4. 在管理叢集內容中,將密碼套用至管理叢集:

      kubectl apply -f mgmt-config-secret.yaml
      
    5. 重新啟用 package-based-cc 功能旗標,以禁止建立舊版管理叢集。

      tanzu config set features.management-cluster.package-based-cc true
      
  7. 執行 tanzu mc upgrade 命令,並輸入 y 加以確認。

    附註

    執行此命令後,非管理員使用者無法登入相關聯的工作負載叢集,必須等 Pinniped 網繭完成重新啟動才行。

    tanzu mc upgrade
    

    如果您 IaaS 帳戶中有多個基礎虛擬機器映像的 Kubernetes 版本與您要升級成的版本相同,請使用 --os-name 選項來指定您要的作業系統。如需詳細資訊,請參閱在叢集升級期間選取作業系統

    例如,在 vSphere 上,如果您同時上傳了使用 Kubernetes v1.24.10 的 Photon 和 Ubuntu OVA 範本,請指定 --os-name ubuntu,以升級要在 Ubuntu 虛擬機器上執行的管理叢集。

    tanzu mc upgrade --os-name ubuntu
    

    若要在升級叢集時略過確認步驟,請指定 --yes 選項。

    tanzu mc upgrade --yes
    

    升級程序會先針對正在管理叢集中執行的 vSphere、Amazon Web Services (AWS) 或 Azure,升級其叢集 API 提供者。接著,會升級管理叢集的所有控制平面和工作節點中的 Kubernetes 版本。

    重要

    升級管理叢集時,請勿對管理叢集或其管理的工作負載叢集執行 tanzu clustertanzu mc 命令,例如從另一個啟動機器或 shell 視窗中執行命令。

    如果升級在完成之前就已逾時,請再次執行 tanzu mc upgrade,並指定 --timeout 選項,且其值大於預設值 30 分鐘。

    tanzu mc upgrade --timeout 45m0s
    
    附註

    安裝 v2.1 CLI 之後,但在升級管理叢集之前,該內容所有特定的 CLI 命令群組 (tanzu clustertanzu kubernetes-release) 以及除 tanzu mc upgradetanzu mc create 以外的所有 management-cluster 外掛程式命令,均無法使用且不會包含在 Tanzu CLI --help 輸出中。

  8. 升級完成後,請再次執行含有 --include-management-cluster -A 選項的 tanzu cluster list 命令,以檢查管理叢集是否已升級。

    tanzu cluster list --include-management-cluster -A
    

    您會看到管理叢集現在正在執行新版本的 Kubernetes,但工作負載叢集仍在執行舊版的 Kubernetes。

     NAME                 NAMESPACE   STATUS    CONTROLPLANE  WORKERS  KUBERNETES         ROLES       PLA   TKR
     k8s-1-22-13-cluster  default     running   1/1           1/1      v1.22.13+vmware.1  <none>      dev   v1.22.13---vmware.1-tkg.1
     k8s-1-23-10-cluster  default     running   1/1           1/1      v1.23.10+vmware.1  <none>      dev   v1.23.10---vmware.1-tkg.1
     mgmt-cluster         tkg-system  running   1/1           1/1      v1.24.10+vmware.1  management  dev   v1.24.10---vmware.1-tkg.1
    
  9. 重新產生管理員 kubeconfig

    tanzu management-cluster kubeconfig get --admin
    

    以下是此命令的輸出範例:

    Credentials of cluster 'mgmt' have been saved
    You can now access the cluster by running 'kubectl config use-context mgmt-admin@mgmt'
    
    重要

    如果在升級後不續訂 kubeconfig,則在叢集過期後將無法存取該叢集。

後續步驟

您現在可以:

  • 升級工作負載叢集 (由這個管理叢集所管理)。

  • 建立新的工作負載叢集。依預設,隨此管理叢集一起部署的任何新叢集都會執行新的預設 Kubernetes 版本。但是,必要時,您可以使用設有 --tkr 選項的 tanzu cluster create 命令,來部署執行不同 Kubernetes 版本的新叢集。如需詳細資訊,請參閱多個 Kubernetes 版本

check-circle-line exclamation-circle-line close-line
Scroll to top icon