gpt4 book ai didi

kubernetes - 塞尔登IO | sklearn_iris 和 sklearn_spacy_text |不能在 k8s 中工作

转载 作者:行者123 更新时间:2023-12-02 12:09:25 27 4
gpt4 key购买 nike

引用:
https://github.com/SeldonIO/seldon-core/blob/master/examples/models/sklearn_iris/sklearn_iris.ipynb
https://github.com/SeldonIO/seldon-core/tree/master/examples/models/sklearn_spacy_text
#步骤完成

1. kubectl port-forward $(kubectl get pods -l istio=ingressgateway -n istio-system -o jsonpath='{.items[0].metadata.name}') -n istio-system 8003:80
2.kubectl create namespace john
3.kubectl config set-context $(kubectl config current-context) --namespace=john
4.kubectl create -f sklearn_iris_deployment.yaml
cat sklearn_iris_deployment.yaml
apiVersion: machinelearning.seldon.io/v1alpha2
kind: SeldonDeployment
metadata:
name: seldon-deployment-example
namespace: john
spec:
name: sklearn-iris-deployment
predictors:
- componentSpecs:
- spec:
containers:
- image: seldonio/sklearn-iris:0.1
imagePullPolicy: IfNotPresent
name: sklearn-iris-classifier
graph:
children: []
endpoint:
type: REST
name: sklearn-iris-classifier
type: MODEL
name: sklearn-iris-predictor
replicas: 1
kubectl get sdep -n john seldon-deployment-example -o json | jq .状态
  "deploymentStatus": {
"sklearn-iris-deployment-sklearn-iris-predictor-0e43a2c": {
"availableReplicas": 1,
"replicas": 1
}
},
"serviceStatus": {
"seldon-635d389a05411932517447289ce51cde": {
"httpEndpoint": "seldon-635d389a05411932517447289ce51cde.john:9000",
"svcName": "seldon-635d389a05411932517447289ce51cde"
},
"seldon-bb8b177b8ec556810898594b27b5ec16": {
"grpcEndpoint": "seldon-bb8b177b8ec556810898594b27b5ec16.john:5001",
"httpEndpoint": "seldon-bb8b177b8ec556810898594b27b5ec16.john:8000",
"svcName": "seldon-bb8b177b8ec556810898594b27b5ec16"
}
},
"state": "Available"
}
5.这里我使用 istio 并按照此文档 https://docs.seldon.io/projects/seldon-core/en/v1.1.0/workflow/serving.html我也这样做了
Istio
Istio REST
Assuming the istio gateway is at <istioGateway> and with a Seldon deployment name <deploymentName> in namespace <namespace>:

A REST endpoint will be exposed at : http://<istioGateway>/seldon/<namespace>/<deploymentName>/api/v1.0/predictions

  • curl -s http://localhost:8003/seldon/john/sklearn-iris-deployment-sklearn-iris-predictor-0e43a2c/api/v0.1/predictions -H "Content-Type: application/json"-d ' {“数据”:{“ndarray”:[[5.964,4.006,2.081,1.031]]}}' -v
    *   Trying 127.0.0.1...
    * TCP_NODELAY set
    * Connected to localhost (127.0.0.1) port 8003 (#0)
    > POST /seldon/johnson-az-videspan/sklearn-iris-deployment-sklearn-iris-predictor-0e43a2c/api/v0.1/predictions HTTP/1.1
    > Host: localhost:8003
    > User-Agent: curl/7.58.0
    > Accept: */*
    > Content-Type: application/json
    > Content-Length: 48
    >
    * upload completely sent off: 48 out of 48 bytes
    < HTTP/1.1 301 Moved Permanently
    < location: https://localhost:8003/seldon/john/sklearn-iris-deployment-sklearn-iris-predictor-0e43a2c/api/v0.1/predictions
    < date: Fri, 23 Oct 2020 13:09:46 GMT
    < server: istio-envoy
    < connection: close
    < content-length: 0
    <
    * Closing connection 0
    同样的事情发生在 sklearn_spacy_text 模型也是,但我想知道相同的模型在 docker 上运行时能完美地工作。
    请从 docker 找到示例响应
    curl  -s http://localhost:5000/predict -H "Content-Type: application/json" -d '{"data":{"ndarray":[[5.964,4.006,2.081,1.031]]}}' -v
    * Trying 127.0.0.1...
    * TCP_NODELAY set
    * Connected to localhost (127.0.0.1) port 5000 (#0)
    > POST /predict HTTP/1.1
    > Host: localhost:5000
    > User-Agent: curl/7.61.1
    > Accept: */*
    > Content-Type: application/json
    > Content-Length: 48
    >
    * upload completely sent off: 48 out of 48 bytes
    * HTTP 1.0, assume close after body
    < HTTP/1.0 200 OK
    < Content-Type: application/json
    < Content-Length: 125
    < Access-Control-Allow-Origin: *
    < Server: Werkzeug/1.0.0 Python/3.7.4
    < Date: Fri, 23 Oct 2020 11:18:31 GMT
    <
    {"data":{"names":["t:0","t:1","t:2"],"ndarray":[[0.9548873249364169,0.04505474761561406,5.7927447968952436e-05]]},"meta":{}}
    * Closing connection 0
    curl  -s http://localhost:5001/predict -H "Content-Type: application/json" -d '{"data": {"names": ["text"], "ndarray": ["Hello world this is a test"]}}'
    {"data":{"names":["t:0","t:1"],"ndarray":[[0.6811839197596743,0.3188160802403257]]},"meta":{}}
    任何人都可以帮助解决这个问题

    最佳答案

    问题
    您发出的请求似乎错误地尝试重定向到 https 协议(protocol)(端口 443)
    解决方案
    使用 https 而不是 http

    curl -s https://localhost:8003/seldon/john/sklearn-iris-deployment-sklearn-iris-predictor-0e43a2c/api/v0.1/predictions -H "Content-Type: application/json" -d '{"data":{"ndarray":[[5.964,4.006,2.081,1.031]]}}' -v

    使用 curl 带有 -L 标志,指示 curl 遵循重定向。在这种情况下,服务器为向 http://localhost:8003 的 HTTP 请求返回了重定向响应(301 Moved Permanently)。 .重定向响应指示客户端发送一个额外的请求,这次使用 HTTPS,到 https://localhost:8003。 .
    更多信息 here .

    关于kubernetes - 塞尔登IO | sklearn_iris 和 sklearn_spacy_text |不能在 k8s 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64500794/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com