Azure Kubernetes Service (AKS) 的核心概念

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

這很重要

自 2025 年 11 月 30 日起,Azure Kubernetes Service(AKS)不再支援或提供 Azure Linux 2.0 的安全更新。 Azure Linux 2.0 節點映像已凍結在202512.06.0發行版本。 自 2026 年 10 月 31 日起,節點映像將被移除,且你將無法擴展你的節點池。 透過 升級節點池 至支援的 Kubernetes 版本或遷移至 osSku AzureLinux3,遷移到支援的 Azure Linux 版本。 更多資訊請參閱 退休 GitHub 議題 及 Azure 更新退休公告。 想隨時掌握公告與更新,請參考 AKS 發布公告。

什麼是 Kubernetes?

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

什麼是 AKS?

AKS 是受控 Kubernetes 服務,可簡化使用 Kubernetes 之容器化應用程式的部署、管理和調整。 AKS 支援兩種叢集模式:

  • AKS Automatic,提供更完整的管理體驗,具備生產準備的預設值,適用於常見的營運任務。
  • AKS 標準,為想要更深入控制叢集設置與營運的團隊提供更具可配置性的體驗。

欲了解更多資訊,請參閱什麼是Azure Kubernetes Service (AKS)?以及什麼是AKS自動?

叢集模式

在 AKS 中,你可以在自動模式或標準模式中建立叢集。 兩種模式都採用 Kubernetes 的核心概念,但營運責任有所不同。

  • AKS 自動設計是為希望降低營運負擔的團隊設計。 它包含節點管理、擴展、安全護欄及升級的預設設定。
  • AKS 標準設計給希望擁有最大彈性並直接掌控叢集配置、節點池、擴展、網路及營運的團隊。

若您希望以較少的第二天平台管理工作取得可立即投入生產的基準,請使用 AKS Automatic。 當你需要自訂操作模式和叢集功能更深入的調校時,請使用 AKS 標準。

關於詳細能力差異,請參見 AKS 自動與標準功能比較。

附註

AKS 自動與 AKS Standard 在服務水準協議(SLA)經驗上有所不同。 AKS Automatic 預設包含運作時間 SLA 及合格 Pod 整備度 SLA 涵蓋範圍。 在 AKS Standard 中,運作時間 SLA 與定價層級及叢集設定綁定。 欲了解更多資訊,請參閱 AKS 自動與標準功能比較 及 AKS 叢集管理的定價層級。

叢集元件

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

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

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

這些架構概念在兩種 AKS 叢集模式中相同。 不同的是營運模式:AKS Automatic 預設會套用更多預先設定的平台操作,而 AKS Standard 則讓你更直接控制節點與叢集操作的配置與管理。

附註

AKS 受控元件具有標籤 kubernetes.azure.com/managedby: aks。

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

控制平面

下表描述了構成 Azure 管理的 AKS 控制平面的元件:

元件 描述
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 Automatic 與 AKS Standard 中仍由 Azure 管理。 在這兩種模式下,Azure 會操作關鍵控制平面元件,如 kube-apiserver、etcd、kube-scheduler、kube-controller-manager 以及 cloud-controller-manager。

節點

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

元件 描述
kubelet kubelet 可確保容器在 Pod 中執行。
kube-proxy 或稱Cilium。 kube-proxy 為用於維護節點上網路規則的網路 Proxy。 使用 Cilium 驅動的 Azure CNI 叢集使用 Cilium 而非 kube-proxy。
container runtime 容器執行階段可管理容器的執行與生命週期。

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

節點在兩種 AKS 叢集模式中都執行相同的 Kubernetes 核心節點元件,包括 kubelet 和 container runtime。 視叢集的網路資料平面而定,節點會使用 kube-proxy 或 Cilium 進行服務路由。 差異在於預設操作體驗:

  • AKS 自動使用預設值來處理常見的節點相關操作。
  • AKS Standard 可讓您更靈活地直接設定及管理節點行為。

欲了解詳細功能比較,請參閱 AKS 自動與標準功能比較。

節點組態

設定節點的下列設定。

VM 大小與映像

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

AKS 提供支援的 Linux 作業系統(包括 Ubuntu Linux、Azure Linux 及 Azure Container Linux)的虛擬機映像檔,以及支援的 Windows 作業系統,如 Windows Server 2022 與 Windows Server 2025。 關於目前作業系統與映像的可用性,請參閱 Azure Kubernetes Service 中的節點映像。 您建立 AKS 叢集或擴增節點數目時,Azure 平台即會自動建立並設定所要求的 VM 數目。 代理程序節點會以標準 VM 計費。 系統會自動套用任何 VM 大小折扣,包括 Azure 保留。

作業系統磁碟

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

資源保留

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

作業系統

AKS 支援多種 Linux 作業系統,包括 Ubuntu、Azure Linux 及 Azure Container Linux。 AKS Standard 預設使用 Ubuntu,而 AKS Automatic 則會預先設定 Azure Linux 作為其管理系統節點池。 Windows 節點池也支援 AKS,預設通道為長期服務通道(LTSC)。 有關目前作業系統版本與預設,請參閱 AKS 中的節點映像。

容器執行階段

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

Pod

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

節點集區

附註

AKS Automatic 會預先設定並管理系統節點集區行為以及節點佈建的預設設定。 AKS 標準期望明確的節點池設計與生命週期選擇。 如需詳細資訊,請參閱 AKS 自動與標準模式的功能比較。

在 AKS 中,節點會被群組成 節點池。 預設情況下,節點池使用 虛擬機器擴展集 來管理執行你應用程式的虛擬機。 AKS 也支援 虛擬機器 節點池,AKS 直接管理個別虛擬機。

當你建立 AKS 叢集時,你會定義初始節點數量、大小和版本,這會建立 一個系統節點池。 系統節點集區的主要用途是裝載關鍵系統 Pod,例如 CoreDNS (coredns) 和 konnectivity (konnectivity-agent)。

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

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

節點資源群組

在 Azure 資源群組中建立 AKS 叢集後,AKS 資源提供者即會自動建立名為「節點資源群組」的第二個資源群組。 此資源群組包含與叢集相關的所有基礎設施資源,包括虛擬機、虛擬機器擴展集 及儲存裝置。

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

命名空間

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

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

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

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

定價層

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

定價層級 功能說明
免費 包含所有目前的 AKS 功能。 支援最多 1,000 個節點。 沒有財務支援的運作時間 SLA。
標準 預設啟用正常運行時間 SLA。 更高的可靠性特性。 包含所有目前的 AKS 功能。 支援最多 5,000 個節點。
進階 包含目前所有的 AKS 功能,以及 [超出社群支援範圍的 Microsoft 維護][long-term-support]。

附註

標準定價層級與 AKS 標準叢集模式是分開的。

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

AKS 支援的 Kubernetes 版本

欲了解 AKS 支援的 Kubernetes 版本,包括版本支援政策、依版本拆解變更及棄用政策,請參閱 AKS 支援的 Kubernetes 版本。

有關AKS及AKS自動的資訊,請參閱以下資源: