叢集 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 沒有失敗) |
可能會發生下列失敗:
|
每個失敗都會看到下列回應:
|
節點 A 重新開機 (節點 B 沒有失敗) |
節點重新開機 | 節點 A 完成重新開機且背景工作角色 VM 可供使用之後,主要 VM 會從節點 B 重新平衡 Pod。 |
節點 B 失敗 (節點 A 沒有失敗) |
可能會發生下列失敗:
|
每個失敗都會看到下列回應:
|
節點 B 重新開機 (節點 A 沒有失敗) |
節點重新開機 | 節點 A 完成重新開機且背景工作角色 VM 可供使用之後,主要 VM 會從節點 B 重新平衡 Pod。 |
Azure Stack Edge 節點更新
更新類型 | 回覆 |
---|---|
裝置節點更新 | 滾動更新會套用至裝置節點,且節點會重新開機。 |
Kubernetes 服務更新 | Kubernetes 服務更新包括:
|
下一步
- 深入了解 Azure Stack Edge 裝置上的 Kubernetes 儲存體。
- 了解 Azure Stack Edge 裝置上的 Kubernetes 網路模型。
- 在 Azure 入口網站中部署 Azure Stack Edge。