多个区域
设置多区域配置
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 服务,性能可能会降低。