共用方式為


使用 Azure Kubernetes 機群管理員協調多個叢集的更新

管理擁有大量叢集之 Kubernetes 機群的平台管理員,常會在多個叢集之間以安全且可預測的方式分段更新時發生問題。 為解決這個難題,Kubernetes 機群管理員 (機群) 可讓您使用更新執行、階段、群組和策略,協調多個叢集的更新。

Azure 入口網站窗格螢幕擷取畫面: 機群資源,顯示成員叢集所有節點集區使用的成員叢集 Kubernetes 版本和節點映像。

必要條件

  • 請參閱本功能的概念性概觀,說明本文件所參考之更新策略、執行、階段和群組。

  • 您必須擁有一個包含一或多個成員叢集的機群資源。 如果沒有,請遵循快速入門來建立機群資源,並將 Azure Kubernetes Service (AKS) 叢集加入為成員。 本逐步解說會以包含五個 AKS 成員叢集的機群資源為例示範。

  • 設定下列環境變數:

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

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

    az extension add --name fleet
    

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

    az extension update --name fleet
    

注意

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

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

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

逐一更新所有叢集

  1. 在 Azure Kubernetes 機群管理員資源的頁面上,移至 [多叢集更新] 功能表,然後選取 [建立]

  2. 選擇 [一個接一個] 會依序升級車隊的所有成員叢集。

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

  3. 針對 升級範圍,您可以選擇下列三個選項之一:

    • 控制平面和節點集區的 Kubernetes 版本
    • 僅限叢集控制平面的 Kubernetes 版本
    • 僅限節點映像版本

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

    節點映像有下列選項可供選擇:

    • [最新]: 將更新執行中的每個 AKS 叢集更新至其區域中該叢集可用的最新映像。
    • [一致]: 當更新執行有機會使用多個區域的 AKS 叢集時,最新可用的節點映像會不相同 (如需詳細資訊,請參閱發行版本追蹤器)。 更新執行會挑選所有這些區域中的最新通用映像,以達到一致性。

依特定順序更新叢集

更新群組和階段可讓您在更新叢集時,更加掌握更新執行遵循的順序。 在更新階段內,更新會平行套用至所有不同的更新群組; 在更新群組內,成員叢集會循序更新。

將叢集指派給更新群組

有兩種方法可將成員叢集指派給特定的更新群組。

  • 在將成員叢集新增至機群時,指派給群組。 例如:
  1. 在 Azure Kubernetes 機群管理員資源的頁面中,移至 [成員叢集]

    Azure 入口網站頁面螢幕擷取畫面: Azure Kubernetes 機群管理員成員叢集。

  2. 指定成員叢集應屬之更新群組。

    Azure 入口網站頁面螢幕擷取畫面: 將成員叢集新增至 Azure Kubernetes 機群管理員並指派給群組。

  • 第二種方法是將現有的機群成員指派給更新群組。 例如:
  1. 在 Azure Kubernetes 機群管理員資源的頁面中,瀏覽至 [成員叢集]。 選擇想要的成員叢集,然後選取 [指派更新群組]

    Azure 入口網站頁面螢幕擷取畫面: 將現有的成員叢集指派給群組。

  2. 指定群組名稱,然後選取 [指派]

    Azure 入口網站頁面螢幕擷取畫面: 成員叢集,顯示更新成員叢集群組的表單。

注意

任何機群成員都只能屬於一個更新群組,但一個更新群組可有多個機群成員。 更新群組本身不是獨立的資源類型。 更新群組只是代表機群成員參考的字串。 因此,如果刪除參考通用更新群組的所有機群成員,則該特定更新群組也將不復存在。

定義更新執行和階段

您可以使用更新階段定義更新執行,以便循序將更新套用至不同的更新群組。 例如,第一個更新階段可能會更新測試環境成員叢集,而第二個更新階段則會更新生產環境成員叢集。 您也可以指定兩個更新階段之間的等候時間。

  1. 在 Azure Kubernetes Fleet Manager 資源的頁面上,流覽至 [多重叢集更新]。 在 [ 執行] 索引標籤底下,選取 [ 建立]。

  2. 提供更新執行的名稱,然後選取 [階段] 作為更新順序類型。

    [Azure 入口網站] 頁面的螢幕快照,用於選擇更新執行中的階段模式。

  3. 選擇 [ 建立階段]。 您現在可以指定階段名稱和每個階段後要等候的持續時間。

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

  4. 選擇此階段要包含的更新群組。

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

  5. 定義所有階段之後,您可以使用 [上移] 和 [下移] 控件來排序它們

  6. 針對 升級範圍,您可以選擇下列三個選項之一:

    • 控制平面和節點集區的 Kubernetes 版本
    • 僅限叢集控制平面的 Kubernetes 版本
    • 僅限節點映像版本

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

    節點映像有下列選項可供選擇:

    • [最新]: 將更新執行中的每個 AKS 叢集更新至其區域中該叢集可用的最新映像。
    • [一致]: 當更新執行有機會使用多個區域的 AKS 叢集時,最新可用的節點映像會不相同 (如需詳細資訊,請參閱發行版本追蹤器)。 更新執行會挑選所有這些區域中的最新通用映像,以達到一致性。
  7. 按兩下頁面底部的 [ 建立 ] 以建立更新執行。 每次建立更新執行時指定階段及其順序,都可能會變得重複且繁瑣。 更新策略可讓您儲存更新執行的範本,藉此簡化此程式。 如需詳細資訊,請參閱 更新策略建立和使用方式

  8. 在 [多叢集更新] 功能表中,選擇 [更新執行],然後選取 [開始]

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

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

注意

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

建立更新策略:有兩種方式可以建立更新策略:

  • 方法 1:您可以在建立更新執行時儲存更新策略。

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

  • 方法 2:您可以流覽至 [多重叢集更新],然後選擇 [策略] 索引卷標下的 [建立]。

    顯示更新策略建立之 Azure 入口網站 的螢幕快照。

使用更新策略來建立更新執行:建立新的後續更新執行時,可以參考您稍後建立的更新策略:

Azure 入口網站螢幕擷取畫面: 顯示建立新的更新執行。醒目提示 [從現有策略複製] 按鈕。

管理更新執行

有幾個選項可以管理更新執行:

  • 機隊資源的 [多重叢集更新] 索引標籤下,您可以啟動處於 [未啟動] 或 [失敗] 狀態的更新執行。

    顯示如何以「未啟動」狀態啟動更新執行的 Azure 入口網站 螢幕快照。

  • 車隊資源的 [多重叢集更新] 索引標籤下,您可以 停止 目前正在 執行的 更新執行。

    Azure 入口網站 的螢幕快照,其中顯示如何停止處於「執行中」狀態的更新執行。

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

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

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

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