多个区域

设置多区域配置

DC/OS 支持多个区域 (multi-AZ) 配置。本页介绍设置建议和注意事项。典型的 DC/OS 群集的所有主节点和代理节点在同一区域中。拥有跨分区管理节点的成本通常超出了收益。

重要信息:

  • 典型的 DC/OS 群集具有同一区域中的所有管理节点和代理节点。拥有跨分区管理节点的成本通常超出了收益。
  • 以下多 AZ 设置尚未明确测试或验证。

地区内的单区域管理节点和跨区域代理节点

所有 DC/OS 管理节点都存在于单个区域,但代理节点可跨越该区域内的多个区域。

建议和注意事项

  • 如果您正在使用机架,请在整个机架上分配管理节点。
  • 区域内的所有代理都应标有属性(例如, zone:us-east-1a) 以轻松将应用程序和服务限制到特定区域。
  • 任何 DC/OS 服务调度程序都应安排到与管理节点相同的区域(例如,通过使用约束)。
  • 为了方便区域之间应用的故障切换,请确保应用程序不依赖于区域级资源,或者在故障切换时正确复制和迁移这些资源。另外,确保每个区域有足够的备用容量来处理故障切换工作负载。
  • 如果代理专区发送故障,所有其他区域将继续正常运行。只要有备用容量,故障区域中的应用程序将重新安排到其他区域。
  • 如果代理专区从包含管理节点的区域被分区,应用程序将继续在该区域中运行,但调度程序可能会将应用程序的副本“重新安排”到其他区域。
  • 如果包含管理节点的区域出现故障,则其他区域中的应用程序继续运行。然而,应用程序更新或重新安排出现故障的应用程序是不可能的,直到管理节点的 quorum 出现为止。
  • 区域之间的总横截面带宽有限。这意味着,如果跨区域部署了数据 (I/O) 密集型 DC/OS 服务,性能可能会降低。

同一区域内的跨区域管理节点和跨区域代理节点

DC/OS 管理节点和代理节点横跨同一区域内的多个分区。

建议和注意事项

  • Quorum 尺寸和管理节点的布局应能容忍区域故障。例如,对于法定尺寸为 2 的,在单个分区内布局三个管理节点中的一个。不要将管理节点放入单个分区。
  • Quorum 尺寸和管理节点布局应能接受 DC/OS 服务调度程序的区域故障零容忍。这可以使用约束来实现。
  • 为了方便区域之间应用的故障切换,请确保应用程序不依赖于区域级资源,或者在故障切换时正确复制和迁移这些资源。
  • 如果包含管理节点的分区出现故障,并且如果可以满足调度约束,且存在备用容量,则调度到该分区的应用程序将重新调度到其他分区。如果管理节点的 quorum 运行正常,则所有 DC/OS 组件都应正常工作。
  • 由于网络分区更可能跨越分区,因此管理节点可能最终处在“裂脑”情境中。例如:两个不同的管理节点同时认为它们是首要节点。这一点通常无害,因为只有一个管理节点允许进行可修改的操作,例如注册或关闭代理。
  • 区域之间的总横截面带宽有限。这意味着,如果跨区域部署了数据 (I/O) 密集型 DC/OS 服务,性能可能会降低。