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

Minikube因CPU不足无法调度新Pod,求助排查解决方法

Pod调度失败(Insufficient cpu)问题排查与解决

问题直接原因

你的Pod配置中CPU限制使用了大写的50M,这是错误的。Kubernetes中CPU资源的毫核单位必须用小写的m,大写M不属于合法的CPU资源单位,会被调度器错误解析,导致它认为该Pod需要的CPU资源远超节点可用量,从而触发Insufficient cpu调度失败。

快速解决方法

修改Pod配置中的CPU限制字段为小写m:

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
  labels:
    app: mypod-app
spec:
  containers:
  - name: nginx
    image: nginx
    resources:
      limits:
        memory: 128Mi
        cpu: 50m  # 改为小写m

保存后重新创建Pod:

kubectl apply -f your-pod-file.yaml

通用Pod调度故障排查方法

  • 查看Pod详细调度事件:执行kubectl describe pod my-pod,重点关注Events区域的错误信息,调度器会明确说明无法调度的具体原因(如资源不足、亲和性不匹配等)。
  • 检查节点资源分配详情:执行kubectl describe node minikube,查看Allocatable(节点可分配资源)和Allocated resources(已分配资源总和)部分,对比Pod的资源请求/限制,确认是否真的存在资源缺口。注意:kubectl top node显示的是实际运行使用率,而调度器依赖的是资源请求/限制的分配量,两者不是同一概念。
  • 验证资源配置语法:确保Pod的resources.requests和resources.limits字段使用合法单位:CPU用m(毫核),内存用Mi/Gi(二进制单位)或M/G(十进制单位),注意CPU单位只能是小写m。
  • 检查节点污点与Pod容忍度:如果节点存在污点(Taint),而Pod没有对应的容忍度(Toleration),会被调度器拒绝。执行kubectl describe node minikube查看Taints字段,同时检查Pod配置中是否有tolerations。
  • 查看调度器日志:在Minikube中,执行minikube logs -n kube-system -g scheduler可以查看kube-scheduler的详细日志,了解调度决策的完整逻辑,定位深层问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:05:33