你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
群集 Azure Stack Edge 设备上的 Kubernetes 故障转移方案
Kubernetes 群集部署为一种常用的开源平台,用于协调容器化应用程序。 本文介绍 Kubernetes 在双节点 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 没有故障) |
节点重启 | 节点 B 完成重启并且辅助 VM 可用后,主 VM 将重新平衡节点 B 中的 Pod。 |
Azure Stack Edge 节点更新
更新类型 | 响应 |
---|---|
设备节点更新 | 滚动更新应用于设备节点,节点将重启。 |
Kubernetes 服务更新 | Kubernetes 服务更新包括:
|
后续步骤
- 详细了解 Azure Stack Edge 设备上的 Kubernetes 存储。
- 了解 Azure Stack Edge 设备上的 Kubernetes 网络模型。
- 在 Azure 门户中部署 Azure Stack Edge。