遷移 AKS 自動叢集與管理系統節點池

適用於: ✔️ AKS 自動化 ✔️ AKS 標準

本文將介紹如何在支援的 管理系統節點池 與 AKS 標準配置之間遷移 AKS 自動叢集。

支援的遷移路徑

遷移路徑 Support
具有受控系統節點集區的 AKS 自動系統到 AKS 標準 (base SKU) Supported
AKS 自動版無管理系統節點池,轉為 AKS 自動版,包含受管理系統節點池 在受控系統節點集區正式發行的區域,提供預覽版支援
AKS 標準 (base SKU) 到具有受控系統節點集區的 AKS 自動系統 即將推出
AKS 自動版(含管理系統節點池)轉為 AKS 自動版(不含管理系統節點池) 不支援

從帶有管理系統節點池的 AKS 自動叢集遷移到 AKS 標準叢集

遷移運作方式

具有受控系統節點集區的 AKS Automatic 叢集,會在由 AKS 為您佈建、調整規模及升級的系統節點集區上執行其系統元件。

Important

AKS 標準(base SKU)叢集不會啟用受管理系統節點池,因此你必須負責運行、管理及升級系統節點池及系統元件。

要從 AKS Automatic 遷移到 AKS Standard,請完成以下高層次步驟:

  1. 在你的 AKS 自動叢集中新增一個自我管理的系統節點池。
  2. 將叢集 SKU 從 automatic 更新為 base。

更新 SKU 後,叢集會以 AKS 標準叢集形式執行,系統元件則會在你新增和管理的系統節點池上執行。

遷移到 AKS Standard 叢集

  1. 使用 az aks nodepool add 指令將自我管理的系統節點池加入你現有的 AKS 自動叢集。 將節點池模式設為 System 遷移後能執行系統元件。

    az aks nodepool add \
        --resource-group "${RESOURCE_GROUP}" \
        --cluster-name "${RESOURCE_NAME}" \
        --name systempool \
        --mode System \
        --node-count 3
    
  2. 用automatic指令將叢集 SKU 從 base 到 az aks update 更新。

    az aks update \
        --resource-group "${RESOURCE_GROUP}" \
        --name "${RESOURCE_NAME}" \
        --sku base
    

確認移轉

  1. 請透過指令base確認叢集現在是否使用該 az aks show SKU。

    az aks show \
        --resource-group "${RESOURCE_GROUP}" \
        --name "${RESOURCE_NAME}" \
        --query "sku" \
        --output table
    
  2. 使用 az aks nodepool list 指令列出叢集上的節點集區,確認自行管理的系統節點集區存在,且處於 System 模式。

    az aks nodepool list \
        --resource-group "${RESOURCE_GROUP}" \
        --cluster-name "${RESOURCE_NAME}" \
        --query "[].{Name:name, Mode:mode, Count:count}" \
        --output table
    

從沒有受管理系統節點池的 AKS 自動叢集遷移到 AKS 自動叢集,並有受管理系統節點池(預覽版)

AKS 自動系統支援在受控系統節點集區已正式發行的區域中,將預覽版從非受控系統節點集區移轉至受控系統節點集區。 此遷移會將叢集保留在 automatic SKU 上,並將 AKS 系統元件移至 AKS 管理的系統節點池。

先決條件

Important

AKS 預覽功能以自助方式提供,並採選擇加入制。 預覽版本係依「現狀」及「可用情況」提供,且不適用於服務等級協定與有限保固。 客戶支援部門會盡最大努力,部分支援 AKS 預覽。 因此,這些功能不適合實際執行用途。 如需詳細資訊,請參閱下列支援文章:

  • 一個現有的 AKS 自動叢集,沒有管理系統的節點池。
  • Azure CLI 版本 2.86.0 或更後版本。 若要尋找版本,請執行 az --version。 如果您需要安裝或升級,請參閱 安裝 Azure CLI。
  • 最新版本的 aks-preview Azure CLI 擴充功能。
  • Microsoft.ContainerService/NonHoboToHoboConversionPreview功能標記已登記在你的訂閱中。

使用NonHoboToHoboConversionPreview命令註冊az feature register功能旗標:

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-preview 擴充功能:

az extension add --name aks-preview
az extension update --name aks-preview

遷移由 AKS 管理的虛擬網路叢集

對於使用 AKS 管理的網路的 AKS 自動叢集,請使用含有 --enable-hosted-system 參數的 az aks update 命令,遷移至受控系統節點集區:

az aks update \
    --resource-group "${RESOURCE_GROUP}" \
    --name "${RESOURCE_NAME}" \
    --enable-hosted-system

遷移自訂虛擬網路叢集

對於使用自訂虛擬網路的 AKS 自動叢集,請透過參數 --system-node-subnet-id 為管理系統節點池提供子網路。 系統節點子網路必須:

  • 必須與叢集處於同一個虛擬網路和區域。
  • 至少要為 /26。
  • 不得委派給其他服務。
  • 需與節點子網路不同。

參數 --node-subnet-id 是選擇性的。 如果未提供,AKS 會使用現有的系統節點集區子網路。

az aks update \
    --resource-group "${RESOURCE_GROUP}" \
    --name "${RESOURCE_NAME}" \
    --enable-hosted-system \
    --system-node-subnet-id "${SYSTEM_NODE_SUBNET_ID}" \
    --node-subnet-id "${NODE_SUBNET_ID}"

確認移轉

透過以下 az aks show 指令確認叢集使用受管理系統節點池:

az aks show \
    --resource-group "${RESOURCE_GROUP}" \
    --name "${RESOURCE_NAME}" \
    --query hostedSystemProfile \
    --output json

以下範例輸出顯示 hostedSystemProfile.enabled 屬性設定為 true:

{
  "enabled": true,
  "nodeSubnetId": "<node-subnet-resource-id>",
  "systemNodeSubnetId": "<system-node-subnet-resource-id>"
}