分域容量扩展

使用本地和远程分域

本地和远程分域

  • 考虑群集中服务的未来需求。尽管安装后可以在分域和分区中添加或删除节点,但是必须在安装时就定义分域和分区。如果需要更新故障域检测脚本,就必须重新安装 DC/OS。

  • Mesos 管理节点必须位于同一分域,以免它们之间的延迟过高。为了容错,它们分散到不同分区。

  • 分域之间的延迟必须小于 100ms。

  1. 创建故障域检测脚本以在每个节点上运行,从而检测节点的故障域(仅限企业)。安装过程中此脚本的输出被传递到 Mesos。

    脚本输出的推荐格式为:

    我们提供 AWS 和 Azure 节点的故障域检测脚本. 对于具有 aws 节点和 azure 节点的群集,可将两者组合为一个脚本。可以使用这些模型为本地群集创建故障域检测脚本。

  2. 将此脚本添加到 bootstrap 节点的 文件夹。.

  3. 安装 DC/OS .

或者,单击 DC/OS GUI 中的 节点 选项卡。节点表将显示每个代理的分域和分区栏。

在 Marathon 服务或 pod 定义中,可以使用 ,以便:

  • 指定没有具体分区的分域,使给定服务或 Pod 的所有实例都安排在该分域(但不一定在同一分区)。

  • 如果您的服务或 pod 定义中没有指定分域,则仅为分域安排实例,因为本地分域和远程分域之间存在高延迟。除明确指明应在远程区域启动的实例之外,不会为本地分域以外的代理安排实例。

  • 如果指定没有特定分区的分域,则在给定分域中的任何代理上安排实例。

  • 如果同时指定了分域和分区,则可在给定分域和分区内的任何代理节点安排实例,但不可安排到任何其他分域或分区内。

  • 如果指定主机名 UNIQUE 限制,则远程分域也遵守该约束。

跨 3 个分域的 Mesos 群集:aws-us-east1aws-us-east2 和 . 每个分域都有分区 a,b,c,d

  • 不在本地分域启动任何实例。
  • 五个实例都将在 分域启动。

注意:您无法将服务配置为在多个分域运行。