共用方式為


使用 Azure Kubernetes Fleet Manager 在多個叢集上更新 Kubernetes 和節點映射

管理大量叢集的平臺管理員通常會以安全且可預測的方式,在預備多個叢集的更新時發生問題(例如,升級節點OS映像或 Kubernetes 版本)。 為了解決這項挑戰,Azure Kubernetes Fleet Manager (Fleet) 可讓您使用更新執行跨多個叢集協調更新。

更新執行包含階段、群組和策略,而且可以使用自動升級配置檔手動套用一次性更新,或自動套用進行中的一般更新。 所有更新執行 (手動或自動化) 都會接受成員叢集維護視窗。

本指南涵蓋如何設定及手動執行更新執行。

必要條件

  • 閱讀這項功能的概念性概觀,其中提供本指南所參考更新策略、執行、階段和群組的說明。

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

  • 設定下列環境變數:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AKS_CLUSTER_ID=<aks-cluster-resource-id>
    
  • 如果您遵循本文中的 Azure CLI 指示,您需要安裝 Azure CLI 2.58.0 版或更新版本。 若要安裝或升級,請參閱安裝 Azure CLI

  • 您也需要 fleet Azure CLI 延伸模組,執行以下命令即可安裝:

    az extension add --name fleet
    

    az extension update執行 命令以更新至發行的最新版本的延伸模組:

    az extension update --name fleet
    

建立更新執行

更新執行支援叢集升級順序的兩個選項:

  • 一個接一個:如果您不在意控制叢集升級順序, one-by-one 請提供簡單的方法,一次升級一個佇列的所有成員叢集。
  • 使用更新群組和階段控制叢集順序:如果您想要控制叢集升級順序,您可以在更新群組和更新階段中建構成員叢集。 您可以將此序列儲存為以更新策略的形式作為範本。 您稍後可以使用更新策略來建立更新執行,而不是每次建立更新執行時定義順序。

注意

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

逐一更新所有叢集

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

  2. 從 [服務] 功能表的 [設定] 底下,選取 [多重叢集更新>建立執行]。

  3. 輸入更新執行的名稱,然後針對升級類型選取 [逐一 ]。

    Azure 入口網站窗格螢幕擷取畫面: 建立更新執行,在 Azure Kubernetes 機群管理員中逐一更新叢集。

  4. 針對 升級範圍選取下列其中一個選項:

    • 控制平面和節點集區的 Kubernetes 版本
    • 僅限叢集控制平面的 Kubernetes 版本
    • 僅限節點映像版本
  5. 針對 節點映像選取下列其中一個選項:

    • 最新映像:將更新執行中的每個 AKS 叢集更新為其區域中該叢集可用的最新映像。
    • 一致的映像:更新執行可能會讓 AKS 叢集跨越多個區域,其中最新的可用節點映像可能不同(如需詳細資訊,請查看 發行追蹤器 )。 更新執行會挑選所有這些區域中的最新通用映像,以達到一致性。

    Azure 入口網站窗格螢幕擷取畫面: 建立更新執行。顯示 [升級範圍] 區段。

  6. 選取 [建立 ] 以建立更新執行。

使用群組和階段更新叢集

您可以使用更新階段定義更新執行,以循序將更新應用程式排序至不同的更新群組。 例如,第一個更新階段可能會更新測試環境成員叢集,而第二個更新階段則會接著更新實際執行環境成員叢集。 您也可以指定兩個更新階段之間的等候時間。 您可以將此序列儲存為以更新策略的形式作為範本。

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

  2. 從 [服務] 功能表的 [設定] 底下,選取 [多重叢集更新>建立執行]。

  3. 輸入更新執行的名稱,然後選取 更新順序類型的 [階段 ]。

    Azure 入口網站頁面的螢幕擷取畫面,用於選擇更新執行內的階段模式。

  4. 選取 [建立階段],然後輸入階段的名稱和階段之間的等候時間。

    Azure 入口網站頁面螢幕擷取畫面: 建立階段與定義等候時間。

  5. 選取您要在此階段包含的更新群組。 如果您想要以特定順序更新更新群組,您也可以指定更新群組的順序。 完成時,選取建立

    Azure 入口網站頁面螢幕擷取畫面: 建立階段,顯示選取的升級群組。

  6. 針對 升級範圍選取下列其中一個選項:

    • 控制平面和節點集區的 Kubernetes 版本
    • 僅限叢集控制平面的 Kubernetes 版本
    • 僅限節點映像版本
  7. 針對 節點映像選取下列其中一個選項:

    • 最新映像:將更新執行中的每個 AKS 叢集更新為其區域中該叢集可用的最新映像。
    • 一致的映像:更新執行可能會讓 AKS 叢集跨越多個區域,其中最新的可用節點映像可能不同(如需詳細資訊,請查看 發行追蹤器 )。 更新執行會挑選所有這些區域中的最新通用映像,以達到一致性。

    Azure 入口網站窗格螢幕擷取畫面: 建立更新執行。顯示 [升級範圍] 區段。

  8. 選取 [建立 ] 以建立更新執行。

    每次建立更新執行時都指定階段及其順序,可能會讓工作變得重複且繁瑣。 更新策略可讓您儲存更新執行範本,以簡化此程序。 如需詳細資訊,請參閱更新策略的建立和使用

  9. 在 [ 多重叢集更新 ] 功能表中,選取更新執行,然後選取 [ 啟動]。

使用更新策略建立更新執行

建立更新執行需要您每次指定階段、群組、順序。 更新策略可讓您儲存更新執行範本,以簡化此程序。

注意

您可以從相同的更新策略建立具有唯一名稱的多個更新執行。

您可以使用下列其中一種方法來建立更新策略:

建立更新執行時儲存更新策略

  • 在 Azure 入口網站 中建立更新執行時儲存更新策略:

    Azure 入口網站螢幕擷取畫面: 顯示儲存為更新策略的更新執行階段。

管理更新執行

下列各節說明如何使用 Azure 入口網站 和 Azure CLI 來管理更新執行。

  • 在機隊資源的 [ 多重叢集更新 ] 頁面上,您可以 啟動 處於 [未啟動 ] 或 [失敗 ] 狀態的更新執行:

    Azure 入口網站的螢幕擷取畫面,顯示如何啟動處於 [未啟動] 狀態的更新執行。

  • 在機隊資源的 [ 多重叢集更新 ] 頁面上,您可以 停止 目前正在 執行的 更新執行:

    Azure 入口網站的螢幕擷取畫面,顯示如何停止處於 [執行中] 狀態的更新執行。

  • 在 [未啟動]、[失敗] 或 [執行中] 狀態的任何更新內,您可以選取任何階段略過升級:

    Azure 入口網站的螢幕擷取畫面,顯示如何在更新執行中略過特定階段的升級。

    同樣地,您也可以在更新群組或成員叢集層級略過升級。

如需詳細資訊,請參閱 更新執行狀態的概念概觀,以及略過執行/階段/群組的行為

下一步