連接點 Kubernetes 叢集概觀
本文將說明連接點 Kubernetes 叢集的核心概念,其為受控 Kubernetes 服務,可用於在 Azure 運算子連接點平台上部署及管理容器化應用程式
什麼是 Kubernetes?
Kubernetes 是一個快速發展中的平台,可管理容器型應用程式及其相關聯的網路和儲存體元件。 Kubernetes 重視應用程式工作負載,而不是基礎結構元件。 提供部署的宣告式方法,並由一組健全的 API 所支援,以用於管理作業。 請參閱什麼是 Kubernetes ,以了解 Kubernetes。
連接點 Kubernetes 服務
連接點 Kubernetes 叢集服務是 Kubernetes 分佈,專為透過連接點執行個體內部部署的部署而設計。 其設計是為了簡化容器的自動化建立,並已最佳化以執行與資料密集網路功能相關聯的工作負載。
和任何 Kubernetes 叢集一樣,連接點 Kubernetes 叢集有兩個元件:
控制平面:提供核心 Kubernetes 服務,並管理應用程式工作負載的生命週期。
節點:若要執行應用程式和支援服務,您必須具備 Kubernetes 節點。 其提供容器執行階段環境。 每個 NKS 叢集至少有一個節點。 節點裝載於執行 Kubernetes 節點元件的虛擬機器 (VM) 中。 VM 會在連接點執行個體上建立為 NKS 叢集部署的一部分。 連接點 Kubernetes 叢集中有兩種類型的節點集區
- 當您建立 AKS 叢集時,您要定義初始的節點數目及其大小 (SKU),這會建立一個系統節點集區。 系統節點集區裝載重要的系統 Pod。
- 另一方面,若要支援具有不同計算或儲存體需求的應用程式,您可以建立使用者節點集區,也稱為連接點代理程式集區。 連接點代理程式集區中的每個 VM 都遵循統一的設定,例如 CPU、記憶體、磁碟等。 建立代理程式集區之後,其中的 VM 數目會維持固定。 若要調整連接點 Kubernetes 叢集的容量,可以建立更多代理程式集區並整合至現有的叢集。 換句話說,連接點代理程式集區支援水平調整,方法是允許在連接點 Kubernetes 叢集中新增或移除代理程式集區。
但是,如果使用者想要叢集中只有一個節點集區,則可在系統節點集區上排定應用程式 Pod。 每個連接點 Kubernetes 叢集必須包含至少一個系統節點集區,且當中至少要有一個節點。
連接點 Kubernetes 叢集附加元件
連接點 Kubernetes 叢集附加元件是連接點平台的一項功能,可讓客戶使用額外的套件或功能來增強其連接點 Kubernetes 叢集。 附加元件分為兩種類型:必要和選擇性。
必要的附加元件:附加元件會自動部署到已佈建的連接點 Kubernetes 叢集。 建立叢集時,預設會包含核心附加元件,例如 Calico、MetalLB、連接點儲存體 CSI、IPAM 外掛程式、metrics-server、node-local-dns、Arc for Kubernetes 和適用於伺服器的 Arc。 順利完成叢集佈建程序取決於已成功安裝這些附加元件。 如果必要的附加元件安裝失敗且無法修正,叢集狀態就會標示為失敗。
選擇性附加元件:附加元件是與 Kubernetes 叢集資源相關聯的補充服務。 客戶可以選擇視需要啟用或停用這些附加元件。 補充服務的範例可能包括在 NKS 叢集中部署叢集層級本機映像快取登錄,以支援中斷連線的案例。 NKS 可讓客戶觀察每個必要和選擇性附加元件的狀態、健康情況和版本,您可以在 Azure 入口網站上監視這些附加元件,或使用 Azure Resource Manager API 擷取狀態。
附加元件會安裝一次,且只能在客戶升級連接點 Kubernetes 叢集時進行更新或升級。 其可讓客戶套用重要的生產 Hotfix,而不會干擾基礎結構作業,如此可能會覆寫其叢集修改。
連接點可用區域
連接點引進了可用性區域的概念。 其會以機架層級來劃定,可讓客戶將工作負載分佈到執行個體,以達到更佳的可用性。 對於具有八個機架的連接點執行個體,客戶會取得八個可用性區域。 每個區域都包含一組具有備援的管理伺服器,以及做為資源集區的計算伺服器集合。 在連接點中的多機架部署期間,以及執行執行階段套件組合升級時,可用性區域提供做為升級網域的新增優點。 這可確保最多只會讓單一機架內的伺服器離線以進行這些升級。
失敗網域
運算子連接點可確保連接點 Kubernetes 叢集節點分散到升級網域。 此散發是以改善叢集的復原能力和可用性的方式完成。 運算子連接點會使用 Kubernetes 親和性規則來排程特定區域中的節點。 這可確保基礎 VM 不會放在相同的實體伺服器或相同的升級網域中,以改善叢集的容錯能力。