瞭解如何更新 vSphere IaaS control plane 環境中的 主管 和 Tanzu Kubernetes Grid 叢集。對於 主管 和 Tanzu Kubernetes Grid 叢集以及支援這些叢集的基礎結構,vSphere IaaS control plane 支援輪流更新。
更新 vSphere IaaS control plane 環境時,會更新 主管 和 Tanzu Kubernetes Grid 叢集的 Kubernetes 版本以及底層基礎結構元件和服務。因此,我們使用更新一次來說明此程序,而不是升級一詞,後者是一種有限形式的更新,會遞增軟體版本。
主管 和 Tanzu Kubernetes Grid 叢集是使用通用 Kubernetes 發行版核心構建的。主管 和 Tanzu Kubernetes Grid 叢集的 Kubernetes 版本以不同方式提供:
- 主管 Kubernetes 版本隨 vCenter Server 版本一起提供,並且包含個人化的 Kubernetes 版本。每個 vCenter Server 版本 (主要版本、更新或修補程式版本) 都包含三個適用於 主管 的 Kubernetes 版本。最新的 主管 Kubernetes 版本和兩個先前的版本。如需有關支援的 主管 Kubernetes 版本的詳細資訊,請參閱 VMware vSphere with Tanzu 8.0 版本說明。
Tanzu Kubernetes Grid 叢集是使用 Tanzu Kubernetes 版本 (TKr) 建置的。TKr 提供與上游一致的 Kubernetes 軟體發行版,並由 VMware 簽署、測試和支援。TKr 適用於 Tanzu Kubernetes Grid 叢集。TKr 獨立於 vCenter Server 發行。TKr 是作業系統 (例如 Photon 或 Ubuntu) 與提供網繭功能所需的 Tanzu Kubernetes Grid 核心元件的組合。TKr 包含 Antrea 和 Calico 等元件,您可以在 Tanzu Kubernetes Grid 叢集中部署這些元件。如需詳細資訊,請參閱 VMware Tanzu Kubernetes 發行版本說明。
由於上游 Kubernetes 的更新原則,您只能按順序更新 主管 和 Tanzu Kubernetes Grid 叢集的 Kubernetes 版本。不能略過次要版本。例如,如果 主管 執行 1.24,則不能直接更新至 1.26。正確的更新路徑為 1.24、1.25、1.26。
主管 和 Tanzu Kubernetes Grid 叢集 Kubernetes 版本的支援原則
主管 Kubernetes 版本和 TKr 都針對 Kubernetes 版本實作 N-2 支援原則,類似於上游 Kubernetes 支援原則。這意味著,vSphere IaaS control plane (主管 或 TKr) 中的每個 Kubernetes 版本從 VMware 發行之日起至少在 12 個月內受支援。
但請注意,主管 和 Tanzu Kubernetes Grid 叢集必須執行相容的 Kubernetes 版本,請參閱 TKr 版本的相容性對照表和瞭解詳細資訊。
vCenter Server 的升級路徑規則
由於上游 Kubernetes 要求按順序升級,因此執行 主管 時 vCenter Server 的升級路徑取決於包含的 Kubernetes 版本。您每年大約可能需要更新 vCenter Server 3 次,並相應地更新 主管 的 Kubernetes 版本,以執行受支援的 Kubernetes 版本。
滿足以下任一條件時,可以升級執行 主管 的 vCenter Server:
- 來源和目標 vCenter Server 版本中打包了至少一個重疊的 Kubernetes 版本。
- 目標 vCenter Server 版本必須包含來源 vCenter Server 版本中存在的 Kubernetes 的下一個緊鄰版本。
如果這兩個條件都不滿足,則無法升級 vCenter Server。
範例 | 版本遞增 | vCenter Server 版本中支援的 主管 Kubernetes 版本 | ||||||
---|---|---|---|---|---|---|---|---|
範例 1 | 來源 vCenter Server |
1.22 | 1.23 | 1.24 | 可以升級 | |||
目標 vCenter Server |
1.24 | 1.25 | 1.26 | |||||
範例 2 | 來源 vCenter Server |
1.21 | 1.22 | 1.23 | 可以升級 | |||
目標 vCenter Server |
1.24 | 1.25 | 1.26 | |||||
範例 3 | 來源 vCenter Server |
1.20 | 1.21 | 1.22 | 無法升級 | |||
目標 vCenter Server |
1.24 | 1.25 | 1.26 |
- 在第一個範例中,可以升級,因為來源和目標 vCenter Server 版本都包含 主管 Kubernetes 版本 1.24。
- 在第二個範例中,仍可以升級,因為目標 vCenter Server 版本包含 主管 Kubernetes 版本 1.24,這是下一個緊鄰版本。
- 最後一個範例顯示了一個案例,在該案例中,由於來源和目標 vCenter Server 版本既不包含重疊的 主管 Kubernetes 版本,也不包含下一個緊鄰版本,因此無法升級。
瞭解 vSphere 命名空間 版本和 主管 版本
v1.26.8+vmware.wcp.1-vsc0.1.9-23708114
v1.27.5+vmware.wcp.1-vsc0.1.9-23708114
v1.28.3+vmware.wcp.1-vsc0.1.9-23708114
主管 和 Tanzu Kubernetes Grid 叢集的輪流更新
vSphere IaaS control plane 針對 主管 和 Tanzu Kubernetes Grid 叢集使用輪流更新模型。輪流更新模型可確保在更新程序期間,叢集工作負載的停機時間最少。輪流更新包括對 Kubernetes 軟體版本以及支援 Tanzu Kubernetes Grid 叢集的基礎結構和服務進行升級,例如虛擬機器組態和資源、vSphere 命名空間 以及自訂資源。如需詳細資訊,請參閱〈瞭解主管上的 TKG 叢集的輪流更新模型〉。
若要使更新成功,您的環境必須滿足多個相容性需求。系統會強制重新檢查條件,以確保叢集已準備好進行更新,並支援在叢集升級不成功的情況下進行回復。
更新 主管
您可以更新 主管 正在執行的 Kubernetes 版本 (例如從 Kubernetes 1.23 更新到 Kubernetes 1.24),還可以更新支援 主管 和 Tanzu Kubernetes Grid 叢集的基礎結構。您每年可能需要更新 主管 Kubernetes 版本 3 次,以與 Kubernetes 版本發行節奏保持同步。以下是 主管 Kubernetes 版本更新順序。
- 根據vCenter Server 的升級路徑規則中所述的規則升級 vCenter Server。
- 更新 主管 Kubernetes 版本和基礎結構元件。請參閱更新 主管
起始 主管 Kubernetes 版本更新時,將按以下作業順序執行更新:
- 系統建立新的控制平面虛擬機器,並將其加入到現有的 主管 控制平面。在此更新階段,vSphere 詳細目錄顯示四個控制平面虛擬機器,因為系統會新增更新的虛擬機器,然後移除舊的過期虛擬機器。
- 物件會從其中一個舊的控制平面虛擬機器移轉到新的控制平面節點,並且會移除舊的控制平面虛擬機器。此程序會逐一重複,直到所有控制平面虛擬機器都更新為止。
- 更新所有控制平面虛擬機器後,worker 節點會以類似的輪流更新方式進行更新。工作節點是 ESXi 主機,每個 ESXi 主機上的每個 Spherelet 程序都會逐一更新。
- 僅更新 主管 Kubernetes 版本。
- 更新所有內容,包括 VMware 版本和 Kubernetes 版本。
更新 Tanzu Kubernetes Grid 叢集
Tanzu Kubernetes Grid 叢集的更新取決於 主管 上執行的 Tanzu Kubernetes Grid 服務版本以及叢集正在執行的 TKr 版本。如需詳細資訊,請參閱安裝和升級 TKG 服務和更新 TKG 服務叢集。
更新所有 vSphere IaaS control plane 元件
您可以使用「全部更新」工作流程來更新所有 vSphere IaaS control plane 元件。更新主要版本 (例如從 NSX 3.X 更新到 4 以及從 vSphere 7.x 更新到 8) 時,需要使用此類型的更新。
- 檢查《VMware 互通性對照表》(https://interopmatrix.vmware.com/Interoperability) 中的 vCenter Server 和 NSX 以確定相容性。vSphere IaaS control plane 功能由隨 vCenter Server 提供的工作負載控制平面 (WCP) 軟體提供。
- 升級 NSX (如果相容)。
- 升級 vCenter Server。
- 升級 vSphere Distributed Switch。
- 升級 ESXi 主機。
- 檢查任何已佈建的 Tanzu Kubernetes Grid 叢集與目標 主管 版本的相容性。
- 更新 vSphere 命名空間 (包括 主管 Kubernetes 版本)。
- 更新 Tanzu Kubernetes Grid 叢集。
此圖說明 vSphere IaaS control plane 更新的一般工作流程
。