Enhance the scalability of multi-type workloads
Describe the feature
Currently, KPA natively supports automatic scaling for workloads like Deployment. However, many large enterprises have their own developed types of workloads, such as the open-source CloneSet or mine AppSet. At this point, Knative has some shortcomings in scalability when facing different types of workloads. There is a hope to enhance scalability in this regard.
This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.
Cross posting what I said on the PR https://github.com/knative/serving/pull/15529#issuecomment-2588753642
Hey just catching up here - I think the right implementation we want to use is the /scale subresource.
This would allow us to work with any k8s type that can be scaled (ideally without modifications to the autoscaler.
https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#subresources
@chenzhiguo is this something you'd be interested in continuing?
@chenzhiguo do you have any interest in tweaking the autoscaler to use the scale subresource?
@chenzhiguo do you have any interest in tweaking the autoscaler to use the scale subresource?
Yes, that sounds good.
Hi @chenzhiguo, have you started working on this?
Hi @chenzhiguo, have you started working on this?
Yes, there are a PR(Support for multiple types of workloads #15529) for this issue. However, the official side seems to have a better way to solve this problem.
Hi @dprotaso and @chenzhiguo, is there any progress on this? Please let me know.
Hi @dprotaso and @chenzhiguo, is there any progress on this? Please let me know.
Besides the above PR, there's nothing else.
@chenzhiguo I thought you were working on switching the implementation to use a scale subresource?
I thought you were working on switching the implementation to use a scale subresource?
I’m sorry, I haven‘t done this job yet. If others have the right time, they can support it.
Sounds good - I'll unassign you
/unassign @chenzhiguo
/assign @thiagomedina