虚拟基础架构

在虚拟化基础架构上运行 DC/OS - 最佳实践

以下内容旨在为在虚拟化基础架构上运行 DC/OS 群集的客户提供操作指导。虽然以下指南引用 VMware vSphere 概念,但应将类似设置应用于其他虚拟机管理程序和虚拟化技术。

请联系您的客户成功团队获取更多指导。

性能和容量指南

建议:

  • 最大程度地减少主机上的 CPU 和其他资源超额订阅
  • 在计划 DC/OS 管理节点的主机上保持 CPU 就绪时间* < 5%

注意:CPU 就绪时间是记录虚拟机准备好使用 CPU 但因为所有 CPU 资源都忙碌而无法安排时间的度量。

时间保留指南

DC/OS 群集需要节点之间的强大时间同步,以实现最佳功能。请检查您的 DC/OS 群集上 NTP 已启用 ,帮助确保此类强大同步。

建议:

tools.syncTime = "0"
time.synchronize.continue = "0"
time.synchronize.restore = "0"
time.synchronize.resume.disk = "0"
time.synchronize.shrink = "0"
time.synchronize.tools.startup = "0"
time.synchronize.tools.enable = "0"
time.synchronize.resume.host = "0"

可选

  • 考虑使用 ntpd -x禁用 NTP 转换模式。
  • 在 NTP 配置中设置 tinker panic0

vSphere DRS 设置

DRS(分布式资源调度程序) 是一款 vSphere 功能,可平衡计算 vSphere 群集中的工作负载与可用资源。

对于在其上计划 Zookeeper 和 etcd 组件的管理节点和代理节点,建议将 DRS 自动化设置为已禁用或部分自动化。如果启动了多个实时迁移操作,负载下的 vSphere 群集可能导致 Zookeeper 系综或 etcd 群集上的不稳定行为。实时迁移 (vMotion) 可能会发出 “Stop the World” Pause (也称为“STUN”),以便完成到另一个主机的迁移。

另请注意,如果在某些条件下触发了实时迁移,Zookeeper 和 etcd 可能会遇到故障事件,并且应该注意避免丢失违反可容忍的故障数量的系综里的多个成员。因此,一个数量为 3 的 Zookeeper 系综可以容忍一台服务器的故障,而为 5 的系综可以容忍两台服务器的故障。

建议

  • 将 DRS“自动化级别”设置为“已禁用”或“部分自动”,用于 DC/OS 管理节点以及托管 Zookeeper 或 etcd 实例的任何节点。
  • 创建虚拟机-虚拟机的反关联规则,以防止在同一主机上计划 DC/OS 管理节点。
  • 考虑为在 DC/OS 上部署的其他独立 Zookeeper 或 etcd 节点创建反关联规则/策略,以确保主机(虚拟机管理程序)故障不会导致服务中断。
  • 如果您的虚拟化群集中有可用容量,或者正在运行大型 DC/OS 群集,请考虑为代理节点创建反关联规则/策略。
  • 故障域注意事项(如机架、行和数据中心)的因素,以确保虚拟机(和 DC/OS 节点)的弹性资源放置。

可选

  • 为 DC/OS 管理节点将“vSphere 延迟灵敏度”设置为“高”

vSphere HA 设置

vSphere HA 群集中的主机受监控,在故障的情况下,在群集中启动失败的主机上会在群集中的备用主机上重新启动虚拟机。

建议

  • 较之 DC/OS 代理节点,为 DC/OS 管理节点设置更高的重新启动优先级。