多实例推理服务手动摘流指导
场景描述
服务的滚动升级或故障运维操作必须尽可能避免对正在处理的业务请求造成影响。为实现无感知切换流量,采用 Kubernetes 的 Readiness 探针机制,确保在 Pod 进入终止流程前,先手动将其从服务负载均衡中优雅“摘流”,待已有请求处理完成后,再安全终止该实例对应的 Pod。
操作指导
- 执行以下命令获取实例role0的Pod IP。
kubectl get pod -owide
查询结果示例
- 在配置的save_path健康检查日志路径,默认为脚本所在路径的health_log目录下,例如/mnt/deepseek/deploy/health_log/,添加status.json文件,并将role0的Pod IP写入。文件内容参考如下:
{"POD_IP": "192.168.0.22"}
- 等待role0的Pod状态为非就绪,该Instance状态会变成Concerning。
- 执行以下命令查看实例Pod日志,直到确认没有新的流量进入该实例,并且已经进入的请求全部处理完毕。
kubectl logs -f ${POD_NAME}
- (可选)参考扩缩容推理服务(可选),对KubeInfer副本数减1,会优先删除状态为Concerning的Instance,达到删除指定实例的效果。