共用方式為


使用 Azure Kubernetes Fleet Manager 自動升級多個叢集的 Kubernetes 和節點映射

適用於: ✔️ 車隊管理器 ✔️ 中樞叢集版車隊管理器

確保叢集及時且安全地更新是平台管理員的主要關注點。 一旦系統管理員採用 Azure Kubernetes Fleet Manager 更新執行策略,他們就可以使用自動升級設定檔,在發行新的 Kubernetes 或節點映像版本時自動執行更新執行。

本文說明如何使用自動升級設定檔,在 AKS 推出新的 Kubernetes 或節點映像版本時,自動創建並執行更新作業。

附註

自動升級觸發的更新執行會接受您在 AKS 叢集層級設定的計劃性維護時段。 如需詳細資訊,請參閱 跨多個成員叢集的計劃性維護 ,其中說明更新執行如何處理具有已設定計劃性維護時段的成員叢集。

開始之前

  • 閱讀自動升級設定檔的概念概觀,其中提供本指南所參考組態的說明。

  • 您必須擁有一個包含一或多個成員叢集的機群管理員。 如果沒有,請遵循 快速入門 來建立叢集管理員,並加入 Azure Kubernetes Service (AKS) 叢集作為成員。

  • 若要使用更新策略,請使用 更新執行作說明文章中的指示來設定更新策略。 使用 Azure CLI 時,您需要更新策略資源識別碼,才能與自動升級設定檔搭配使用。

建立自動升級設定檔

首先完成這些步驟,以確保您的環境配置正確。

  • 設定下列環境變數:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<aks-cluster-name>
    
  • 您需要安裝 Azure CLI 2.70.0 版或更新版本。 若要安裝或升級,請參閱安裝 Azure CLI

  • 您也需要 fleet Azure CLI 擴充功能 1.5.0 版或更新版本,您可以執行下列命令來安裝:

    az extension add --name fleet
    

    執行下列命令,以更新為發行的最新版延伸模組:

    az extension update --name fleet
    

使用 az fleet autoupgradeprofile create 命令來建立設定檔,如下所示。

您可以使用 --disabled 命令傳遞 create 引數,以建立停用的自動升級設定檔。 若要啟用自動升級配置檔,您必須重新發出整個 create 命令並省略 --disabled 自變數。

附註

停用自動升級配置檔不會影響任何進行中的更新執行,不過在您重新啟用配置檔之前,不會產生新的更新執行。

穩定通道 Kubernetes 更新

更新為次要版本 N-1 上最新支援的 Kubernetes 修補程式版本,其中 N 是最新支援的次要版本。

循序更新成員叢集。

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel Stable

使用現有的更新策略更新成員叢集。

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable

使用現有的更新策略更新成員叢集,確保每個 Azure 區域中都使用相同的節點映像版本。 所有成員叢集都會執行相同的節點映像版本。

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Consistent

使用現有更新策略更新成員叢集,針對每個 Azure 區域使用最新的可用節點映射版本。 成員叢集可能會執行多個節點映像版本。

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Latest

以 Kubernetes 為目標的次要版本更新(預覽)

使用 --target-kubernetes-version 參數將 Kubernetes 更新至已定義的目標次要版本,並以 {主版本}.{次要版本} 格式指定版本(例如,1.33)。 當修補程式可用時,叢集自動升級會自動將成員叢集升級至指定目標版本的最新修補程式版本。

這很重要

Azure Kubernetes Fleet Manager 預覽功能可在自助服務、選擇加入的基礎上使用。 預覽是「依現況」及「可用時」提供的,並不包括在服務等級協定和有限保固之內。 客戶支援部門會竭盡全力支援一部分的 Azure Kubernetes 機群管理員預覽功能。 因此,這些功能不適合實際執行用途。

附註

  • 使用 TargetKubernetesVersion 通道時,必須指定 --target-kubernetes-version 參數。 對於其他通道 (Rapid、Stable、NodeImage),不支援此參數。

  • --long-term-support (LTS) 旗標僅在使用TargetKubernetesVersion通道時可用。 針對其他通道,此旗標必須設定為 False。

  • 您無法將目標 Kubernetes 版本設定為 AKS 尚未發行的未來 Kubernetes 版本。

  • 您只能透過傳遞 --long-term-support 旗標來選取 LTS Kubernetes 版本 (N-2) 作為自動升級設定檔。 若要讓叢集自動升級在此案例中繼續運作,您也必須確保產生的更新執行中的叢集都已啟用 LTS。 非 LTS 叢集會導致在遇到第一個非 LTS 叢集時更新執行失敗。

自動將成員叢集更新至 Kubernetes 1.33 版的最新修補程式。

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.33"

自動將已啟用 LTS 的成員叢集更新為 Kubernetes 次要版本 1.29 的最新修補程式,目前只能透過 AKS LTS 取得。

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.29" \
  --long-term-support

節點映像更新

使用新修補的機器映像 (包含安全性修正和錯誤修正) 來更新節點。

更新成員叢集的節點映射,循序處理叢集。

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel NodeImage

更新成員叢集的節點映像,並使用現有的更新策略處理叢集。

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel NodeImage 

檢視自動升級設定檔

您可以使用 az fleet autoupgradeprofile listaz fleet autoupgradeprofile show 命令來檢視自動升級設定檔。

列出機群的所有自動升級設定檔。

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET

顯示機群的特定自動升級設定檔。

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

刪除自動升級設定檔

使用az fleet autoupgradeprofile delete命令來刪除現有的自動升級設定檔。 系統會要求您確認刪除。 如果您希望馬上刪除個人資料,請包含 --yes

az fleet autoupgradeprofile delete \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

附註

刪除自動升級設定檔不會影響任何正在進行的更新。

建立自動升級設定檔

  1. 在 Azure 入口網站 中,流覽至您的 Azure Kubernetes Fleet Manager 資源。

  2. 從 [服務] 功能表的 [設定] 底下,選取 [多叢集更新]>[自動升級設定檔]

  3. 選取 [建立]、輸入設定檔的名稱,然後選取設定檔是否為 [已啟用]。 發行新版本時,停用的自動升級設定檔不會觸發。

  4. 選取 [階段] 或 [逐一] 的更新順序。

    Azure Kubernetes 機群管理員 Azure 入口網站窗格的螢幕擷取畫面,用於建立使用策略來更新叢集的自動升級設定檔。

  5. 通道選取下列其中一個選項:

    • 穩定 - 使用 N-1 Kubernetes 正式發行次要版本的修補程式來更新叢集。
    • 快速 - 使用最新版 (N) Kubernetes 正式發行次要版本的修補程式來更新叢集。
    • 節點映射 - 僅更新節點映射版本。
    • 目標 Kubernetes 次要版本 (預覽) - 當修補程式可用時,將叢集更新為指定目標 Kubernetes 次要版本的最新修補程式版本。

    用於建立自動升級配置檔的 Azure Kubernetes Fleet Manager Azure 入口網站 窗格螢幕快照,其中定義更新的觸發方式。

  6. 如果您選取目標 Kubernetes 次要版本 (預覽) 通道,則可以選擇要用作觸發程序的 Kubernetes 次要版本:

    • 允許 LTS 次要版本:允許選取僅適用於 AKS 長期支援 (LTS) 叢集的 Kubernetes 次要版本。
    • 目標 Kubernetes 次要版本:選取 Kubernetes 次要版本觸發程序。 低於該次要版本的叢集會先更新為該次要版本,然後只會套用修補程式更新。

    Azure Kubernetes 機群管理員 Azure 入口網站窗格的螢幕擷取畫面,用於建立自動升級設定檔,定義要使用哪個 Kubernetes 次要版本作為觸發程序。

    附註

    允許 LTS 次要版本僅支援對所有已啟用 LTS 的叢集進行的更新作業。 遇到非 LTS 叢集會導致更新執行失敗。

  7. 如果您選取穩定快速目標 Kubernetes 次要版本 (預覽) 通道,則可以選擇如何套用節點映像更新:

    • 最新映像:將每個自動升級配置檔中的 AKS 叢集更新為該叢集所在 Azure 區域內可用的最新映像。
    • 一致的映像:自動升級可能會跨多個 Azure 區域擁有 AKS 叢集,其中最新的可用節點映像可能會不同 (如需詳細資訊,請檢查 AKS 版本追蹤器 )。 選取此選項可確保自動升級會挑選 所有 Azure 區域的最新通用 映像,以達到一致性。

    附註

    節點映像通道一律會使用一致的映像

  8. 如果您使用 [階段] 選取更新順序,請選取或建立策略

    Azure Kubernetes Fleet Manager Azure 入口網站 窗格的螢幕快照,用於建立自動升級配置檔,並選取要使用的更新策略。

  9. 選取 [建立] 以建立自動升級設定檔。

檢視自動升級設定檔

  1. 在 Azure 入口網站 中,流覽至您的 Azure Kubernetes Fleet Manager 資源。

  2. 從 [服務] 功能表的 [設定] 底下,選取 [多叢集更新]>[自動升級設定檔]

    Azure Kubernetes Fleet Manager 入口網站窗格的螢幕快照,用於檢視可用的自動升級設定檔。

  3. 若要檢視其組態,請選取所需的自動升級設定檔。

    Azure Kubernetes 機群管理員 Azure 入口網站窗格的螢幕擷取畫面,其中顯示單一自動升級設定檔的設定。

刪除自動升級設定檔

  1. 在 Azure 入口網站 中,流覽至您的 Azure Kubernetes Fleet Manager 資源。

  2. 從 [服務] 功能表的 [設定] 底下,選取 [多叢集更新]>[自動升級設定檔]

    Azure Kubernetes Fleet Manager 入口網站窗格的螢幕快照,用於檢視可用的自動升級設定檔。

  3. 選取清單中的所需設定檔,然後選取 [ 刪除 ] 以刪除配置檔。

附註

刪除自動升級設定檔不會影響任何正在進行的更新。

驗證自動升級

只有在新的 Kubernetes 或節點映射可供使用時,才會進行自動升級。 觸發自動升級時,會建立連結的更新執行,因此您可以使用 管理更新執行 來查看自動升級的結果。

您也可以檢查現有的版本作為基準,如下所示。

# Get Kubernetes version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

更新執行完成後,您可以重新執行這些命令,並檢視已部署的更新版本。

從自動更新設定檔產生更新執行

當您建立自動升級設定檔時,新版本的 Kubernetes 或節點映像可能需要一段時間才能觸發自動升級,以建立並執行更新作業。

自動升級可讓您隨時使用az fleet autoupgradeprofile generate-update-run命令生成新的更新運行。 產生的更新執行是以目前 AKS 發佈的 Kubernetes 或節點映射版本為基礎。

如需從自動升級配置檔建立隨選更新執行的詳細資訊,請參閱 從自動升級配置檔產生更新執行

後續步驟