共用方式為


Azure Kubernetes Service (AKS) 的核心概念

本文將說明 Azure Kubernetes Service (AKS) 的核心概念,其為受控 Kubernetes 服務,可用於在 Azure 上大規模部署和管理容器化應用程式。

什麼是 Kubernetes?

Kubernetes 是開放原始碼容器協調流程平台,可用於自動部署、縮放和管理容器化應用程式。 如需詳細資訊,請參閱官方 Kubernetes 文件

什麼是 AKS?

AKS 是受控 Kubernetes 服務,可簡化使用 Kubernetes 之容器化應用程式的部署、管理和調整。 如需詳細資訊,請參閱 什麼是 Azure Kubernetes Service (AKS)?

叢集元件

AKS 叢集分為兩個主要元件:

  • 控制平面:控制平面會提供核心 Kubernetes 服務和應用程式工作負載的協調流程。
  • 節點:節點為執行應用程式的基礎虛擬機器 (VM)。

顯示 Kubernetes 控制平面和節點元件的螢幕快照。

注意

AKS 受控元件具有標籤 kubernetes.azure.com/managedbyaks

AKS 會使用前綴 aks-managed 管理 Helm 發佈。 持續增加這些版本的修訂是預期且安全的。

控制平面

Azure 受控控制平面是由數個元件所組成,可協助管理叢集:

元件 描述
kube-apiserver API 伺服器 (kube-apiserver) 會公開 Kubernetes API,以啟用叢集內外針對叢集的要求。
etcd 高可用性索引鍵/值存放區 etcd 有助於維護 Kubernetes 叢集和設定的狀態。
kube-scheduler 程器 (kube-scheduler) 有助於做出排程決策。 它會監看沒有指派節點的新 Pod,並選取要在其中執行的節點。
kube-controller-manager 控制器管理員 (kube-controller-manager) 會執行控制器流程,例如在節點故障時進行通知與處理。
cloud-controller-manager 雲端控制器管理員 (cloud-controller-manager) 會嵌入特定雲端的控制邏輯,以執行特定雲端提供者的控制器。

節點

每個 AKS 叢集至少有一個節點,這是執行 Kubernetes 節點元件的 Azure VM。 以下元件會在每個節點上執行:

元件 描述
kubelet kubelet 可確保容器在 Pod 中執行。
kube-proxy kube-proxy 為用於維護節點上網路規則的網路 Proxy。
container runtime 容器執行階段可管理容器的執行與生命週期。

顯示 Azure 虛擬機和支援 Kubernetes 節點資源的螢幕快照。

節點組態

設定節點的下列設定。

VM 大小與映像

節點的 Azure VM 大小 會定義 CPU、記憶體、大小和可用的記憶體類型,例如高效能固態硬碟或一般硬碟。 您選擇的 VM 大小取決於工作負載需求,以及您打算在每個節點上執行的 Pod 數目。 自 2025 年 5 月起,如果參數在部署期間保留空白,AKS 會根據可用的容量和配額動態選取預設 VM SKU 和大小。 如需詳細資訊,請參閱 Azure Kubernetes Service (AKS) 支援的 VM 大小

在 AKS 中,叢集節點的 VM 映像是以 Ubuntu Linux、Azure Linux 或 Windows Server 2022 為基礎。 您建立 AKS 叢集或擴增節點數目時,Azure 平台即會自動建立並設定所要求的 VM 數目。 代理程序節點會以標準 VM 計費。 系統會自動套用任何 VM 大小折扣,包括 Azure 預留

作業系統磁碟

只有在未指定預設 OS 磁碟大小時,才會在新叢集或節點集區上使用預設 OS 磁碟大小。 此行為同時適用於受控和暫時的OS磁碟。 如需詳細資訊,請參閱 預設OS磁碟大小調整。

資源保留

AKS 會使用節點資源來協助節點作為叢集的一部分運作。 此方法可能導致節點的資源總量與 AKS 中可配置的資源量不一致。 為了維護節點效能和功能,AKS 會在每個節點上保留兩種類型的資源,即 CPU 和記憶體。 如需詳細資訊,請參閱在 AKS 保留資源

作業系統

AKS 支援兩個 Linux 散發版本:Ubuntu 和 Azure Linux。 Ubuntu 是 AKS 上的預設 Linux 發行版本。 AKS 上也支援 Windows 節點集區,而 長期維護通道 (LTSC) 是 AKS 上的預設通道。 如需預設 OS 版本的詳細資訊,請參閱 節點映像的檔。

容器執行階段

容器執行階段是在節點上執行容器和管理容器映像的軟體。 運行時間可協助抽象化系統呼叫或OS特定功能,以在Linux或 Windows 上執行容器。 針對 Linux 節點集區, 容器 會在 Kubernetes 1.19 版和更新版本上使用。 針對 Windows Server 2019 和 2022 節點集區, 容器 已正式推出,而且是 Kubernetes 1.23 版和更新版本的唯一運行時間選項。

Pod

Pod 是一或多個容器的群組,其中容器會共用相同的網路與儲存體資源,以及如何執行容器的規格。 Pod 通常對應至一個容器,但也可在 Pod 中執行多個容器。

節點集區

在 AKS 中,相同設定的節點會一起分組到節點集區中。 這些節點集區中,會包含用於執行應用程式的基礎虛擬機器擴展集與虛擬機器 (VM)。

當您建立 AKS 叢集時,您可以定義初始節點數目及其大小(版本),以建立 系統節點集區。 系統節點集區的主要用途是裝載重要系統 Pod,例如 CoreDNS 和 konnectivity

若要支援具有不同計算或儲存體需求的應用程式,您可以建立的使用者節點集區。 使用者節點集區主要用來託管您的應用程式 Pod。

如需詳細資訊,請參閱在 AKS 中建立節點集區在 AKS 中管理節點集區

節點資源群組

在 Azure 資源群組中建立 AKS 叢集後,AKS 資源提供者即會自動建立名為「節點資源群組」的第二個資源群組。 此資源群組包含與叢集相關聯的所有基礎結構資源,包括 VM、虛擬機擴展集和記憶體。

如需詳細資訊,請參閱以下資源:

命名空間

Kubernetes 資源 (例如 Pod 和部署) 會以邏輯方式分組為「命名空間」,以分隔 AKS 叢集,並建立、檢視或管理對資源的存取。

根據預設,AKS 叢集中會建立下列命名空間:

命名空間 描述
default 若使用預設命名空間,則即可開始使用叢集資源,不必建立新的命名空間。
kube-node-lease kube-node-lease 命名空間允許節點將其可用性傳送給控制平面。
kube-public kube-public 命名空間通常不會使用,但您可以使用它,讓任何使用者在整個叢集中看到資源。
kube-system Kubernetes 會使用 kube-system 命名空間以管理叢集資源,例如 corednskonnectivity-agentmetrics-server。 不建議將您自己的應用程式部署至此命名空間。 如需將您自己的應用程式部署至此命名空間的罕見情況,請參閱 常見問題 以瞭解如何進行。

顯示 Kubernetes 命名空間以邏輯方式分割資源和應用程式的螢幕快照。

叢集模式

在 AKS 中,您可以使用自動(預覽)或標準模式建立叢集。 AKS 自動提供更完全受控的體驗。 您可以管理叢集設定,包括節點、調整、安全性和其他預先設定的設定。 透過 AKS 標準模式則可控制更多叢集設定,包括管理節點集區、縮放和其他設定。

如需詳細資訊,請參閱 AKS 自動與標準模式的功能比較

定價層

AKS 提供三個叢集管理的定價層:免費、標準和進階。 您選擇的定價層會決定可用來管理叢集的功能。

如需詳細資訊,請參閱 AKS 叢集管理定價層

支援的 Kubernetes 版本

如需詳細資訊,請參閱 AKS 支援的 Kubernetes 版本

如需有關 AKS 核心概念的詳細資訊,請參閱下列資源: