记录一下那天晚上的排查过程。KServe 0.13 创建 InferenceService 后十分钟仍是 NotReady,kubectl get 里 READY 为 False、REASON 显示 RevisionMissing,Pod 列表里看不到推理容器。
刚开始盯着「资源请求过大,集群调度不上」,折腾了半个多小时,排掉了。
排查方向其实有限,先把可能性排一排。镜像拉取失败或私有仓库凭据没挂。也可能是storageUri 指向的模型路径权限不足。
另外,Knative 的域名与网络插件没就绪。
上来先看 InferenceService 的事件和条件
kubectl describe inferenceservice qwen-serve -n ks
再往下查 Revision 与 Pod 是否被创建
kubectl get revision,pods -n ks -l serving.kserve.io/inferenceservice=qwen-serve
然后确认存储凭据与模型路径可读
kubectl get secret modelcreds -n ks -o jsonpath='{.data}'
剩下的就是按实际显存下调资源请求后重新应用
kubectl patch inferenceservice qwen-serve -n ks --type merge -p '{"spec":{"predictor":{"minReplicas":1}}}'
同样的操作我在测试机上先走了一遍,线上只做验证过的部分。
这台环境是别人交接的,不少默认值被动过,只能一项项核。
怎么算真的好了,看的是同一批现象。InferenceService 的 READY 变为 True,URL 可访问且 /v1/models 返回模型名,Pod 处于 Running 且无重启。
补一句。NotReady 只是结果,真正的原因在 Revision 与事件里,先看 describe 的 Conditions 再看 Pod,能跳过一大半猜测。这类问题最好一次改到位,反复小改反而容易把原因搅混。
