K8s集群里跑OpenLLM总报错?按这套流程排查更快定位

在K8s集群里跑OpenLLM,最常见的现象是Pod一直处于Pending、CrashLoopBackOff,或者模型服务起来了但外部访问超时。
排查顺序建议固定为:先看Pod状态和事件,再看容器日志,然后检查资源和调度,最后验证Service和网络。

确认故障现象和排查入口

先执行以下命令拿到全局状态,不要一上来就改配置:

kubectl get pods -n <命名空间> -o wide
kubectl describe pod  -n <命名空间>
kubectl logs  -n <命名空间> --previous

describe输出里的Events段通常直接给出原因,比如镜像拉取失败、节点资源不足、探针失败。--previous用于查看上一次崩溃容器的日志,Pod反复重启时非常关键。

如果Pod状态是Pending,重点看Events里的调度失败信息;
如果是CrashLoopBackOff,重点看容器日志最后几十行;
如果是Running但服务不通,问题通常在Service、探针或端口配置。

镜像、资源和调度相关报错

镜像拉取失败时,Events里会出现ErrImagePull或ImagePullBackOff。
检查镜像地址是否完整、私有仓库Secret是否配置正确:

kubectl get secret -n <命名空间>
kubectl describe pod  -n <命名空间> | grep -A3 Events

如果使用私有镜像仓库,需要确认imagePullSecrets在Deployment的Pod模板里已声明。
缺少这一项时,节点无法拉取镜像。

显存不足或GPU不可用是OpenLLM部署中的高频问题。
先确认节点是否暴露了GPU资源:

kubectl describe node <节点名> | grep -i nvidia

如果看不到nvidia.com/gpu资源,说明节点上的GPU设备插件没有正常工作,需要先修好设备插件,再调整OpenLLM的资源请求。
资源请求写得太小会导致调度到无GPU节点,写得太大则会一直Pending。

探针和启动参数导致的反复重启

OpenLLM加载模型需要时间,
如果readinessProbe或livenessProbe的initialDelaySeconds设得太短,
容器还没加载完就被判定为失败,
进而被杀掉重启。

readinessProbe:
  httpGet:
    path: /health
    port: 3000
  initialDelaySeconds: 60
  periodSeconds: 10
livenessProbe:
  httpGet:
    path: /health
    port: 3000
  initialDelaySeconds: 120
  periodSeconds: 20

模型越大,首次加载时间越长。
建议先临时去掉livenessProbe,只保留readinessProbe,确认服务能正常启动后再逐步收紧参数。
同时检查容器启动命令里的模型名称、路径和端口是否与探针、Service保持一致。

Service和访问链路验证

Pod Running且日志无报错,但外部访问失败时,按下面的链路逐层验证:

kubectl get svc -n <命名空间>
kubectl get endpoints <服务名> -n <命名空间>
kubectl exec -it  -n <命名空间> -- curl localhost:3000/health

如果Endpoints为空,说明Service的selector和Pod标签不匹配,检查Deployment里的labels与Service的selector是否一致。
Ingress访问异常时,再检查Ingress的serviceName、servicePort和后端端口是否对应。

常见疑问

Pod一直Pending,但节点资源看起来够用?

检查是否有节点亲和性、污点容忍或资源请求过大导致无法调度。kubectl describe pod的Events里会写明具体原因。

日志没有明显报错,但服务响应很慢?

可能是模型加载后显存接近上限,或请求排队。
查看nvidia-smi输出和Pod的CPU、内存使用情况,确认是否需要调整副本数或资源限制。

修改Deployment后没有生效?

确认是否执行了kubectl apply,以及镜像标签是否使用了固定版本而不是latest。
使用latest时节点可能不会重新拉取镜像。

排查完成后,建议把Pod状态、Events关键行、日志报错和修复动作记录下来,方便下次同类问题快速对照。
如果集群里同时跑多个模型服务,优先统一探针参数和资源模板,能减少重复排错成本。

分享到:
上一篇
K8s集群OpenWebUI排错:Pod起不来与访问异常排查
下一篇
K8s 集群里 Ray Serve 启动失败怎么排查?
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意