透過升級 Tanzu Kubernetes 版本版本更新 Tanzu Kubernetes 叢集。

可以透過升級 Tanzu Kubernetes 版本版本對 Tanzu Kubernetes 叢集起始輪流更新。具體操作方式取決於所使用的 Tanzu Kubernetes Grid 服務 API 版本。
TKGS API 版本 版本更新方法
v1alpha2 API 更新叢集資訊清單的 spec.topology.controlPlane.tkr.refernece.namespec.topology.nodePools[*].tkr.reference.name 內容中的 TKR NAME 字串。請參閱將叢集規格轉換為 TKGS v1alpha2 API 後更新 Tanzu Kubernetes 版本
v1alpha1 API 更新叢集資訊清單的 spec.distribution.versionspec.distribution.fullVersion 內容中的 DISTRIBUTION 版本。請參閱以下內容。

必要條件

確認已完成更新 Tanzu Kubernetes 叢集的必要條件。請參閱更新 Tanzu Kubernetes 叢集

此工作會使用 kubectl edit tanzukubernetescluster/CLUSTER-NAME 命令更新叢集資訊清單。kubectl edit 命令會在 KUBE_EDITOR 或 EDITOR 環境變數所定義的文字編輯器中開啟叢集資訊清單。儲存檔案時,將透過變更來更新叢集。請參閱為 Kubectl 指定預設文字編輯器

程序

  1. 使用 主管叢集 進行驗證。請參閱以 vCenter Single Sign-On 使用者身分連線至 主管叢集
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. 將內容切換到佈建目標 Tanzu Kubernetes 叢集的 vSphere 命名空間
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. 取得目標 Tanzu Kubernetes 叢集和版本。
    kubectl get tanzukubernetescluster
    例如,使用 TKGS v1alpha2 API 的結果:
    kubectl get tanzukubernetescluster
    NAMESPACE        NAME            CONTROL PLANE   WORKER   TKR NAME                             AGE    READY   TKR COMPATIBLE   UPDATES AVAILABLE
    tkgs-cluster-1   test-cluster    3               3        v1.21.2---vmware.1-tkg.1.ee25d55     38h    True    True             [1.21.2+vmware.1-tkg.1.ee25d55]
    例如,使用 TKGS v1alpha1 API 的結果:
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.19.16+vmware.1-tkg.1.df910e2  19h   running
  4. 列出可用的 Tanzu Kubernetes 版本。
    kubectl get tanzukubernetesreleases
  5. 執行下列命令以編輯叢集資訊清單。
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
  6. 編輯資訊清單,更新 Tanzu Kubernetes 版本。具體操作方式取決於所使用的 TKGS API 版本。
    如果使用的是 TKGS v1alpha2 API,請更新 TKR NAME 字串。請參閱 將叢集規格轉換為 TKGS v1alpha2 API 後更新 Tanzu Kubernetes 版本
    如果使用的是 TKGS v1alpha1 API,舉例來說,可以將資訊清單從:
    spec:
      distribution:
        fullVersion: v1.19.16+vmware.1-tkg.1.df910e2
        version: v1.19.16
    更新為:
    spec:
      distribution:
        fullVersion: null
        version: v1.20.12
    備註: 如果使用的是 TKGS v1alpha1 API,可以指定完全限定版本,也可以使用版本捷徑,例如 version: v1.20.12 (解析為與該修補程式版本相符的最新映像) 或 version: v1.20 (解析為相符的最新修補程式版本)。解析後的版本在叢集資訊清單中顯示為 fullVersion。若要使用捷徑執行版本升級,必須取消設定 fullVersion 或將其設為 Null,以避免在探索過程中可能出現版本不相符的問題。
  7. 儲存對資訊清單檔案所做的變更。
    儲存檔案時,kubectl 會將變更套用至叢集。在背景中,主管叢集上的虛擬機器服務會佈建新的 worker 節點。
  8. 確認 kubectl 是否報告資訊清單編輯已成功記錄。
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
    備註: 如果您收到錯誤,或 kubectl 未報告叢集資訊清單已成功編輯,請確保您使用 KUBE_EDITOR 環境變數正確設定了預設文字編輯器。請參閱 為 Kubectl 指定預設文字編輯器
  9. 確認叢集是否正在更新。
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.20.12+vmware.1-tkg.1.b9a42f3  21h   updating
  10. 確認叢集是否已更新。
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.20.12+vmware.1-tkg.1.b9a42f3   22h   running