Skip to content

How is the URL being interpreted when client call is made ?  #6

@chunji08

Description

@chunji08

Hi there,
I am trying to run your case on my minikube env. At step 7, when I was to to make the client post call, it fails.

Here is part of your example client call code, in which I have added some extra printout lines.

...
isvc_resp = KServe.get("digits-recognizer", namespace="kubeflow-user-example-com")

isvc_url = isvc_resp['status']['address']['url']

t = np.array(x_number_five)
t = t.reshape(-1,28,28,1)

inference_input = {
  'instances': t.tolist()
}
print(isvc_url)

response = requests.post(isvc_url, json=inference_input)
print(response.text)
...

When it is being executed,

  1. the isvc_url value is output-ed as: http://digits-recognizer.kubeflow-user-example-com.svc.cluster.local/

  2. the client call response output is:

<HTML><HEAD>
<TITLE>404 Not Found</TITLE>
</HEAD><BODY>
<H1>Not Found</H1>
</BODY></HTML>

I guess the client never reaches the server in the cluser ? So how is this URL: digits-recognizer.kubeflow-user-example-com.svc.cluster.local/, being interpreted to the client ? where is the DNS server ?

These are the endpoints and svc information of this NS.

kubectl get svc -n kubeflow-user-example-com  -o wide 
NAME                                        TYPE           CLUSTER-IP       EXTERNAL-IP                                            PORT(S)                                              AGE    SELECTOR
digits-recognizer                           ExternalName   <none>           knative-local-gateway.istio-system.svc.cluster.local   <none>                                               128m   <none>
digits-recognizer-predictor                 ExternalName   <none>           knative-local-gateway.istio-system.svc.cluster.local   80/TCP                                               128m   <none>
digits-recognizer-predictor-00001           ClusterIP      10.109.119.200   <none>                                                 80/TCP,443/TCP                                       128m   <none>
digits-recognizer-predictor-00001-private   ClusterIP      10.106.198.111   <none>                                                 80/TCP,443/TCP,9090/TCP,9091/TCP,8022/TCP,8012/TCP   128m   serving.knative.dev/revisionUID=553efb13-d9f8-4b66-aa9f-db2bd0251b23
fortinet                                    ClusterIP      10.109.153.105   <none>                                                 80/TCP                                               4d2h   statefulset=fortinet
ml-pipeline-ui-artifact                     ClusterIP      10.100.103.164   <none>                                                 80/TCP                                               4d6h   app=ml-pipeline-ui-artifact
ml-pipeline-visualizationserver             ClusterIP      10.97.140.133    <none>                                                 8888/TCP                                             4d6h   app=ml-pipeline-visualizationserver

kubectl get endpoints -n kubeflow-user-example-com -o wide
NAME                                        ENDPOINTS                                                     AGE
digits-recognizer-predictor-00001           10.244.0.209:8012,10.244.0.209:8112                           128m
digits-recognizer-predictor-00001-private   10.244.1.0:9091,10.244.1.0:8012,10.244.1.0:8022 + 3 more...   128m
fortinet                                    10.244.0.212:8888                                             4d2h
ml-pipeline-ui-artifact                     10.244.0.194:3000                                             4d6h
ml-pipeline-visualizationserver             10.244.0.192:8888                                             4d6h

Thanks for the help.

Jack

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions