Azure Kubernetes Service(AKS)自動叢集與受控系統節點集區概觀

本概述說明了管理系統節點池功能,該功能預設在新的 AKS Automatic 叢集上啟用,且僅在 AKS Automatic 中提供。 受管理系統節點池讓您專注於應用程式,而 AKS 則管理底層基礎設施,包括系統節點池,以優化效能與可靠性。

若要建立帶有管理系統節點池的 AKS 自動叢集,請參考 快速啟動:建立Azure Kubernetes Service (AKS)自動叢集快速啟動。

主要功能和優點

管理系統節點池功能讓您專注於應用程式,而 AKS Automatic 則確保底層基礎設施在效能與可靠性方面達到最佳化。 主要特色與優勢包括:

  • 無營運開銷:AKS 自動配置、升級並擴展系統節點池,免除手動介入的需求。
  • 簡化叢集建立:你不需要追蹤或分配系統節點池的運算配額,因為 AKS 會幫你處理配額。
  • 成本效益:運行於系統節點池上的虛擬機(VM)不計入客戶訂閱費,讓您在維持高效能的同時優化成本。
  • 提升效能:將系統工作負載與客戶應用程式隔離,提升可靠性並確保由 服務層級協議(SLA)支持的穩定效能。
  • 預設為受管理系統節點池:新的 AKS 自動叢集預設啟用受管理系統節點池。 如果你已有沒有管理系統節點池的 AKS 自動叢集,可以在預覽版中遷移到使用管理系統節點池。
  • 自動擴展與節點修復:叢集 自動擴展器 已啟用於受管理系統節點池中的系統節點。 節點自動修復已啟用於受管理系統節點池中的系統節點。

這很重要

從 AKS 1.36 開始,新的 AKS Automatic 叢集預設將啟用 透過應用程式路由附加元件提供的 Kubernetes Gateway API,而非 使用應用程式路由附加元件的受控 NGINX 輸入,這是因為上游的 Ingress NGINX 退場。

現有的自動叢集不會受影響,但應該會開始透過 應用程式路由外掛開始遷移到 Kubernetes Gateway API。

Limitations

AKS 自動叢集適用以下限制:

  • AKS Automatic 已在下列區域正式推出:australiacentral、australiaeast、northcentralus、centralus、westus2、northeurope、chilecentral、westus、newzealandnorth、centralindia、westeurope、norwayeast、canadaeast、westcentralus、mexicocentral、canadacentral、ukwest、uksouth、uaenorth、swedencentral、switzerlandnorth、spaincentral、southeastasia、southindia、southcentralus、polandcentral、southafricanorth、malaysiawest、koreacentral、koreasouth、japanwest、italynorth、japaneast、israelcentral、indonesiacentral、australiasoutheast、germanywestcentral、francecentral、austriaeast、eastus2、eastus、brazilsouth、belgiumcentral、denmarkeast、eastasia、westus3。
  • 新的 AKS 自動叢集預設啟用管理系統節點池與 LocalDNS。 你無法在任何區域建立 AKS 自動叢集,除非有管理系統的節點池。
  • AKS 自動叢集預先設定了 node resource group lockdown,這不允許更改 MC_ 資源群,導致預設 私用 DNS 區域無法建立虛擬網路連結。 對於跨 VNet 或自訂 DNS 情境,請依照在自訂虛擬網路中建立私有 Azure Kubernetes 服務 (AKS) 自動叢集的步驟,使用自訂網路和私人 DNS。
  • Azure CLI 版本 2.86.0 或更新版本是必須的。 要找到版本,請執行 az --version 指令。 如果您需要安裝或升級,請參閱 安裝 Azure CLI。
  • 以下擴充功能不被支援:
  • Windows 節點不被支援。
  • 不支援從 AKS 基礎 SKU 遷移到自動 SKU。
  • 在有管理系統節點池的地區,預覽版中支援從現有 AKS Automatic 叢集(不含管理系統節點池)遷移到 AKS Automatic 並管理系統節點池的遷移。 不支援從具有受控系統節點集區的 AKS Automatic 遷移回不具有受控系統節點集區的 AKS Automatic。

受管理系統節點池的組成部分

下表概述了 AKS 在受管理系統節點池中管理的元件。 AKS 負責建立、升級及擴展這些元件所運行的系統節點。

元件 Namespace 部署
工作負載身分識別 kube-system azure-wi-webhook-controller-manager
CoreDNS kube-system coredns、coredns-autoscaler
橡皮擦 kube-system eraser-controller-manager
Kubernetes 事件驅動自動縮放(KEDA) kube-system keda-admission-webhooks、keda-operator、keda-operator-metrics-apiserver
共振性 kube-system konnectivity-agent、konnectivity-agent-autoscaler
Metrics Server kube-system metrics-server
垂直艙自動縮放(VPA) kube-system vpa-admission-controller、vpa-recommender、vpa-updater

其他附加元件與擴充功能則運行於節點 aks-system-surge 上,縮放則由 節點自動配置(NAP)處理。 DaemonSets 會同時在受控系統節點集區和您訂用帳戶中的節點上執行,包括 aks-system-surge 節點。

將現有的 AKS 自動叢集遷移到受管理系統節點池(預覽版)

AKS 自動系統支援在受控系統節點集區已正式發行的區域中,將預覽版從非受控系統節點集區移轉至受控系統節點集區。 要使用此預覽功能,請在您的訂閱中註冊 Microsoft.ContainerService/NonHoboToHoboConversionPreview 功能標誌,然後用參數 --enable-hosted-system 更新叢集。

az feature register \
    --namespace Microsoft.ContainerService \
    --name NonHoboToHoboConversionPreview

請使用以下 az feature show 指令查詢註冊狀態:

az feature show \
    --namespace Microsoft.ContainerService \
    --name NonHoboToHoboConversionPreview \
    --query properties.state \
    --output tsv

等指令回來 Registered 再繼續。 接著,重新整理 Microsoft.ContainerService 資源提供者註冊。

az provider register --namespace Microsoft.ContainerService

若要遷移使用 AKS 管理的網路之現有 AKS Automatic 叢集,請使用 --enable-hosted-system 參數執行 az aks update 命令:

az aks update \
    --resource-group <resource-group> \
    --name <cluster-name> \
    --enable-hosted-system

對於使用自訂虛擬網路的 AKS Automatic 叢集,也請提供受控系統節點集區所使用的子網路。 系統節點子網路必須位於與叢集相同的虛擬網路和區域,且大小至少為 /26,並且不得委派給其他服務。 參數 --node-subnet-id 是選擇性的。 如果未提供,AKS 會使用現有的系統節點集區子網路。

az aks update \
    --resource-group <resource-group> \
    --name <cluster-name> \
    --enable-hosted-system \
    --system-node-subnet-id <system-node-subnet-resource-id> \
    --node-subnet-id <node-subnet-resource-id>

欲了解更多資訊,請參閱 「AKS 自動與 AKS Base 叢集之間的遷移」。

受控系統節點集區的安全性限制

由於 AKS 代表你管理系統節點池,AKS 透過內建政策、基線 pod 安全標準及入場時間政策,施加多層安全限制。 這些限制有助於保護受管理系統元件,並維護客戶工作負載與 AKS 管理基礎設施之間的界線。

限制 AKS 所防止的事 為何如此重要
受管理系統資源變更 在 AKS 管理的系統命名空間中建立、更新或刪除資源。 協助保護 AKS 管理的元件免受客戶主動變更的影響。
系統容器的互動式存取 對 AKS 受控系統 Pod 使用 exec、attach 或 port-forward。 有助於防止直接存取運行在受管理系統節點池上的系統工作負載。
管理系統節點變更 修改受管理系統節點或將一般節點標註為受管理系統節點。 協助維護客戶管理節點與 AKS 管理系統節點之間的界線。
受控系統節點上的工作負載配置 在 AKS 受控系統節點上排程或執行客戶工作負載,包括具有保留容忍度、廣泛萬用字元容忍度或自訂排程器的工作負載。 有助於防止客戶工作負載在專用系統節點上運行。
特權叢集存取路徑 授權存取敏感節點代理權限。 減少可能繞過正常控制或提升對叢集資源存取權限的路徑。
受保護身分的冒充 冒充受保護的 AKS、Kubernetes 或系統服務帳號身份。 有助於防止來電者冒充受信任系統元件所使用的身份。
AKS 管理的安全控制變更 修改 AKS 管理的安全政策與准入控制。 有助於防止削弱或停用保護受管理系統節點池的控制措施。

不支援的 AKS API 操作

以下 AKS API 操作 不支援:

  • 升級管理系統節點池。
  • 刪除一個受管理系統節點池。
  • 停止具有受管理系統節點池的叢集。
  • 在叢集上列出代理池並不包含受管理系統的節點池。

後續步驟