TiDB Scheduler 扩展调度器

发布时间:2023-04-11 19:30

TiDB Scheduler 是 Kubernetes 调度器扩展 的 TiDB 实现。TiDB Scheduler 用于向 Kubernetes 添加新的调度规则。本文介绍 TiDB Scheduler 扩展调度器的工作原理。

tidb-scheduler 与 default-scheduler

Kubernetes 集群中默认会部署一个 kube-scheduler,用于 Pod 调度,默认调度器名字为 default-scheduler

在早期 Kubernetes 版本中 (< v1.16),默认调度器对于 Pod 均匀调度支持不够灵活,因此我们实现了 TiDB Scheduler 用于扩展 Kubernetes 默认调度器的调度规则,支持 TiDB 集群 Pod 的均匀调度,名字为 tidb-scheduler

从 Kubernetes v1.16 开始,Kubernetes 默认调度器引入了 EvenPodsSpread 特性,控制 Pod 在集群内故障域之间的分布。该特性在 v1.18 进入 beta,在 v1.19 正式 GA。

因此,如果 Kubernetes 集群满足下面条件之一,就不需要使用 tidb-scheduler,直接使用 default-scheduler。你需要为组件配置 topologySpreadConstraints,即可实现 tidb-scheduler 的均匀调度功能。

  • Kubernetes 版本为 v1.18.x 并且已开启 EvenPodsSpread feature gate。
  • Kubernetes 版本 >= v1.19。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号