You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes自定义调度器运行正常但绑定Pod处于Pending状态排查求助

问题根因

你部署的自定义调度器启动参数未指定对应的调度器名称,导致它不会匹配处理你Pod中指定的schedulerName: my-scheduler。
kube-scheduler进程默认的调度器名称为default-scheduler,仅会处理schedulerName和自身名称一致的Pod,你的配置中缺少--scheduler-name启动参数,所以没有调度器认领你的webapp-color Pod,最终一直处于Pending状态且无事件记录。

修复方案

修改/etc/kubernetes/manifests/my-scheduler.yaml的containers.command配置,新增--scheduler-name=my-scheduler参数,修改后部分配置如下:

containers:
- command:
  - kube-scheduler
  - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
  - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
  - --bind-address=127.0.0.1
  - --kubeconfig=/etc/kubernetes/scheduler.conf
  - --leader-elect=false
  - --port=10261
  - --secure-port=10269
  - --scheduler-name=my-scheduler # 新增这一行

保存文件后kubelet会自动重启自定义调度器Pod,等待Pod重建完成后,待调度的Pod就会被正常调度。

其他可选排查点

如果修改后仍存在问题,可按以下步骤排查:

  • 查看自定义调度器日志确认运行异常:执行kubectl logs -n kube-system my-scheduler-kmaster,检查是否有权限报错、网络连通性报错
  • 检查代理配置是否正确:你配置了全局HTTP/HTTPS代理,需确认apiserver的Service IP/域名已加入no_proxy列表,否则调度器访问apiserver的流量会被发往本地代理导致通信失败
  • 确认调度器权限配置:/etc/kubernetes/scheduler.conf对应的用户需要拥有调度相关的所有ClusterRole权限,可与默认kube-scheduler的权限配置对比验证

内容的提问来源于stack exchange,提问作者Narayan Banik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:18:05