k8s中安装tidb-operator组件运行不符合预期

【 TiDB 使用环境】测试
【 TiDB 版本】 v8.1.0
【复现路径】做过哪些操作出现的问题 k8s上部署tidb集群
【遇到的问题:问题现象及影响】 按照官网在k8s上安装tidb operator查看TiDB Operator 组件,缺少tidb-scheduler组件,忽略后导致在后续安装tidb-cluster集群中basic-tidb pod的状态一直为Pending。两个问题(1)安装TiDB Operator 组件时,看到只有tidb-controller-manager一个pod处于running状态,是否可以忽略tidb-scheduler组件,继续往下进行,如果不能忽略该如何解决?(2)安装tidb-cluster集群basic-tidb 是否与忽略tidb-scheduler组件相关,如果不是该如何解决?
【资源配置】机器资源32c 128g
【TiDB Operator 版本】:v1.6.0
【K8s 版本】:1.30.0
【附件:截图/日志/监控】




按照我理解tidb-scheduler组件是不可或缺的,仔细点看看哪一步骤缺少了吧。

你的 K8S 集群版本足够新的话是不需要 tidb 的 scheduler 的,https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/tidb-scheduler#tidb-scheduler-扩展调度器 已经不建议部署了。通过改 helm 的参数可以不部署 scheduler

1 个赞

学习了

  1. tidb-controller-manager 你可以认为就是 tiup
  2. schedule 新版本可以去掉。
  3. pod pending 看下 :event、logs 和 tidb-controller-manager 的日志内容。
1 个赞

https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator#自定义部署-tidb-operator
在使用 TiDB Operator 时,tidb-scheduler 并不是必须使用。你可以参考 tidb-scheduler 与 default-scheduler,确认是否需要部署 tidb-scheduler 。如果不需要 tidb-scheduler ,在部署 TiDB Operator 过程中,可以通过在 values.yaml 文件中配置 scheduler.create: false 不部署 tidb-scheduler

ok的

第一个问题的正解

嗯呢,看报错是拉取slowlog的镜像失败了



pending的pod,有两个原因,第一个原因是机器资源不足以运行这个pod。看看有没有cpu、内存等硬限制。第二个原因就是检查pod有没有依赖服务。可以把这个pod的yaml贴出来看看

@Hacker_zuGnSsfP 这里哈 拉取镜像失败了

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。