Is path-based serving supported?
See original GitHub issue/kind feature
Hello everyone!
I see that the current way to serve KServe
models is host-based. That is, the URL of a model looks something like this:
http://<model-name>-<namespace>.<domain>
.
This way, one needs to create a DNS record and a certificate for the sub-domain <model-name>-<namespace>
where the model is hosted.
So, my question is: is there an alternative way? A path-based way?.
In that case, one should not bother about DNS records and certificates. The URL of the model could look something like this:
http://<domain>/<namespace>/<model-name>
I couldn’t find any issues with a similar question. Is something like this currently supported?
If not, then what are the difficulties of such a feature?
Issue Analytics
- State:
- Created a year ago
- Comments:9 (5 by maintainers)
Top Results From Across the Web
Achieve path-based routing on an Application Load Balancer
With path-based routing, your Application Load Balancer allows you to host multiple microservices behind a single load balancer using listener ...
Read more >Providing Access and Transforming Health (PATH) Supports
PATH supports for the justice-involved populations will serve to bridge the gap for the nine Whole Person Care pilots that currently serve ...
Read more >Guide Users with Path - Salesforce Help
Create paths to guide your users through steps of a business process, ... Path is supported on Lightning record pages in the new...
Read more >Create an application gateway with URL path-based routing ...
In this tutorial, you learn how to create URL path-based routing rules ... to route requests to the backend servers that serve the...
Read more >Routes - Networking | OpenShift Container Platform 3.11
Path based routes specify a path component that can be compared against a URL (which requires that the traffic for the route be...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@kandrio Thanks for proposal! Overall it looks great, a few details might need to pay attention:
InferenceService name
andmodel name
, sometimes they can be different as a service can host multiple models, so we need to encode both service name and model name in the url path.v1
andv2
, the endpoint paths are slightly different between the two, for example the predict path for v1 isv1/models/<model-name>:predict
while for v2 it isv2/models/<model-name>/infer
. The switch for v1 or v2 can be based on theprotocolVersion
field onInferenceService
spec.The virtual service template might look like following:
Hi @kandrio , thanks for the proposal, that is a feature we needed for a while. You can find our use cases and requirement here.
Currently, we are using an additional virtual service to route the path-based request to the
cluster-local-gateway
. See the example below. It will be great that KServe can support it natively.Instead of
urlTemplate
, maybe having an additionalpathTemplate
to work with the existingdomainTemplate
to define the path will be better?Above will generate an inferenceService URL with the following format:
If the pathTemplate is empty, then it will be host-based routing.
What do you think?