如何在kind集群上通过端口转发完成Seldon-Core快速入门
Seldon Core本地Kind集群端口转发问题修复方案
问题根因
- 系统存在残留的错误端口转发进程,占用了本地8080端口,你新执行的
8080:80端口转发命令因端口冲突没有成功启动,报错信息里的forwarding 8080 -> 8080就是残留的错误进程产生的日志 - 测试脚本中存在无效的KServe资源查询逻辑,不需要执行
- 请求参数中
ndarray格式错误,应该为二维数组
修复步骤
1. 清理残留端口转发进程
pkill -f "kubectl port-forward"
2. 确认Istio网关服务配置
执行命令验证Istio ingress gateway端口配置正确:
kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")]}'
正常输出为:{"name":"http2","port":80,"protocol":"TCP","targetPort":8080},说明服务侧80端口可用,8080:80的端口映射参数本身是正确的。
3. 重新启动端口转发
INGRESS_GATEWAY_SERVICE=$(kubectl get svc --namespace istio-system --selector="app=istio-ingressgateway" --output jsonpath='{.items[0].metadata.name}') kubectl port-forward --namespace istio-system svc/${INGRESS_GATEWAY_SERVICE} 8080:80 &
4. 修正测试脚本
删除无关的KServe资源查询逻辑,修正请求参数格式:
#!/bin/bash -ev export INGRESS_HOST=localhost export INGRESS_PORT=8080 curl -X POST http://$INGRESS_HOST:$INGRESS_PORT/seldon/modelns/iris-model/api/v1.0/predictions \ -H 'Content-Type: application/json' \ -d '{ "data": { "ndarray": [[1,2,3,4]] } }'
5. 验证服务状态
发起请求前先确认Seldon模型服务部署完成:
kubectl get seldondeployment -n modelns iris-model
待STATUS字段变为Available后执行测试脚本即可正常拿到预测结果。
内容的提问来源于stack exchange,提问作者ucsky
相关产品推荐
相关产品推荐

