共用方式為


叢集 Azure Stack Edge 裝置上的 Kubernetes 容錯移轉情節

Kubernetes 叢集會部署為熱門的開放原始碼平台,以協調容器化應用程式。 本文說明 Kubernetes 如何在 2 節點的 Azure Stack Edge 裝置上運作,包括失敗模式和對應的裝置回應。

關於 Azure Stack Edge 上的 Kubernetes

在 Azure Stack Edge 裝置上,您可以藉由設定計算來建立 Kubernetes 叢集。 設定計算角色時,系統會為您部署並設定 Kubernetes 叢集,包括主要和背景工作角色節點。 然後,此叢集會透過 kubectl、IoT Edge 或 Azure Arc,針對工作負載部署使用。

Azure Stack Edge 裝置可作為構成基礎結構叢集的單一節點設定或雙節點設定提供使用。 Kubernetes 叢集獨立於基礎結構叢集,且部署在基礎結構叢集之上。 基礎結構叢集會為 Azure Stack Edge 裝置提供永續性儲存體,而 Kubernetes 叢集則只負責應用程式協調流程。

Kubernetes 叢集包含主要節點和背景工作角色節點。 叢集中的 Kubernetes 節點是執行應用程式和雲端工作流程的虛擬機器。

  • Kubernetes 主要節點負責維護叢集所需的狀態。 主要節點也會控制背景工作角色節點。
  • 背景工作角色節點會執行容器化應用程式。

雙節點裝置上的 Kubernetes 叢集

雙節點裝置上的 Kubernetes 叢集有一個主要節點和兩個背景工作角色節點。 雙節點裝置具有高可用性,如果其中一個節點失敗,裝置和 Kubernetes 叢集都會繼續執行。 如需 Kubernetes 叢集架構的詳細資訊,請移至 Kubernetes 核心概念

在雙節點 Azure Stack Edge 裝置上,Kubernetes 主要 VM 和 Kubernetes 背景工作角色 VM 正在您裝置的節點 A 上執行。 在節點 B 上,單一 Kubernetes 背景工作角色 VM 正在執行。

Kubernetes 叢集中的每個背景工作角色 VM 都是固定的 Hyper-V VM。 固定的 VM 會繫結至其執行所在的特定節點。 如果裝置上的節點 A 失敗,主要 VM 會容錯移轉至節點 B。但是,節點 A 上的背景工作角色 VM 是固定的 VM,因此不會容錯移轉至節點 B,反之亦然。 相反地,節點 A 上背景工作角色 VM 中的 Pod 會重新平衡到節點 B 上。

為了讓重新平衡的 Pod 有足夠的容量可在裝置節點 B 上執行,系統會在一般雙節點的 Azure Stack Edge 叢集作業期間,強制使用不超過每個 ASE 節點容量的 50%。 此容量使用量會盡最大努力完成,而且在某些情況下 (例如,當工作負載重新平衡到 ASE 節點 B 時,需要未提供使用的 GPU 資源),重新平衡 Pod 可能沒有足夠的資源可執行。

下一節的失敗模式與行為中會詳細說明這些情節。

失敗模式與行為

Azure Stack Edge 裝置節點在特定情況下可能會失敗。 本節會以列表顯示各種失敗模式和對應的裝置回應。

Azure Stack Edge 節點失敗或重新開機

節點 失敗 回覆
節點 A 失敗
(節點 B 沒有失敗)
可能會發生下列失敗:
  • 兩個 PSU 都失敗
  • 連接埠 3、連接埠 4 其中之一 (或兩者) 失敗
  • 核心元件失敗,包括主機板、DIMM、OS 磁碟
  • 整個節點失敗
    每個失敗都會看到下列回應:
    • Kubernetes 主要 VM 從節點 A 容錯移轉至節點 B
    • 主要 VM 需要幾分鐘的時間才能在節點 B 上啟動
    • 節點 A 中的 Pod 會在節點 B 上重新平衡
    • 如果節點 B 上有 GPU 可用,GPU 工作負載會持續執行
    節點 A 重新開機
    (節點 B 沒有失敗)
    節點重新開機 節點 A 完成重新開機且背景工作角色 VM 可供使用之後,主要 VM 會從節點 B 重新平衡 Pod。
    節點 B 失敗
    (節點 A 沒有失敗)
    可能會發生下列失敗:
    • 兩個 PSU 都失敗
    • 連接埠 3、連接埠 4 其中之一 (或兩者) 失敗
    • 核心元件失敗,包括主機板、DIMM、OS 磁碟
    • 整個節點失敗
      每個失敗都會看到下列回應:
      • Kubernetes 主要 VM 會從節點 B 重新平衡 Pod。這可能需要幾分鐘的時間。
      節點 B 重新開機
      (節點 A 沒有失敗)
      節點重新開機 節點 A 完成重新開機且背景工作角色 VM 可供使用之後,主要 VM 會從節點 B 重新平衡 Pod。

      Azure Stack Edge 節點更新

      更新類型 回覆
      裝置節點更新 滾動更新會套用至裝置節點,且節點會重新開機。
      Kubernetes 服務更新 Kubernetes 服務更新包括:
      • 將 Kubernetes 主要 VM 從裝置節點 A 容錯移轉至裝置節點 B
      • Kubernetes 主要更新。
      • Kubernetes 背景工作角色節點更新 (不一定按此順序)。
      整個更新流程可能需要 30 分鐘以上的時間,而且在此期間,Kubernetes 叢集可用於任何管理作業 (例如部署新的工作負載)。 雖然 Pod 會在更新時從裝置節點清空,但工作負載可能會在此流程期間離線數秒。

      下一步