-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ability to schedule inference service pods to certain nodes #730
Comments
Issue-Label Bot is automatically applying the labels:
Please mark this comment with 👍 or 👎 to give our bot feedback! |
this is probably best to be implemented in your pod or deployment mutating webhook imo. |
@yuzisun Can you explain more? Is it inside kfserving or outside? |
@yuzisun: I don't think it's reasonable to expect every user to implement a custom admission controller just to add affinities. It also makes sense to have them as part of the InferenceService, instead of having to define my node requirements for my InferenceService in custom code in a separate admission controller. |
@salanki KFServing has been trying to find a right balance between allowing leaking operator fields into our inference service API which is data scientist/developer friendly and this use case definitely hits that, we can discuss what’s best way to implement this if you can join our WG meeting. |
Completely agree with this request. We actually have this exact same problem with Knative, who made similar restrictions on their API before finally exposing the Pod Template Spec instead of ContainerTemplateSpec. This is a big API discussion and I think we need to solve it before GA. It would be great to enable the full power of the PodTemplateSpec while simultaneously empowering users with framework specs. One option would be to use variant interfaces to effectively extend the PodTemplateSpec with some of our magic. We will need to discuss in the working group. |
Happy to join a WG meeting and also write up some use cases / examples if it is helpful! |
Hi. Any news on this subject? |
We are addressing this in our new api v1beta1. Stay tuned. |
@salanki @pradithya @dalfos Looks like knative has lifted the restriction now https://github.com/knative/serving/pull/8645/files. |
Issue-Label Bot is automatically applying the labels:
Please mark this comment with 👍 or 👎 to give our bot feedback! |
Node selector/Affinity/Toleration now can be specified on https://knative.dev/docs/serving/feature-flags/#kubernetes-node-selector |
Can you please provide an example?? |
@daganida88 did you enabled feature in configmap config-features?
|
confirming that running
will allow to specify such configs in the |
/kind feature
Describe the solution you'd like
Allow user to specify node selector, affinity, anti-affinity, and toleration so that they can control in which node the inference service pods will be scheduled.
The implementation should also allow predictor and transformer to have a different configuration (related to #666).
It could look something like this
Anything else you would like to add:
Knative serving has this limitation (knative/serving#1816). Alternatively, it could be implemented in the webhook.
The text was updated successfully, but these errors were encountered: