-
Notifications
You must be signed in to change notification settings - Fork 1.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
KEDA scales any CustomResource that implements Scale subresource #703
Comments
I think this makes sense but what we should keep in mind is the how things should scale as mentioned in #653 where a Job spins up an instance per message, while deployment/statefulset/deamon adds based on message count; there is no 1-to-1 link. How would KEDA know the difference for that then exactly? Or would that be a distinction on this then? For deployments, deamons, et al apiVersion: keda.sh/v1alpha1
kind: ScaledWorker # As per OAM's workload types https://github.com/oam-dev/spec/blob/master/schema/component.schema.json#L54 And for jobs/"serverless" apiVersion: keda.sh/v1alpha1
kind: ScaledTask # As per OAM's workload types https://github.com/oam-dev/spec/blob/master/schema/component.schema.json#L54 Can we incorporate that? As per secrets, I'm more than happy to drop what we have today and enforce TriggerAuthentication as I think that makes more sense; but it requires you to deploy two things (but don't think that's an issue) |
@tomkerkhove thanks for the input. My intention is to create a separate resource for Job if we agree on this. As we can handle each type of resource a different way and specify different properties on each resource. |
I think it would be amazing functionality in KEDA and very useful for Knative Eventing. Especially as more event sources need scaling made easy to implement. |
merged into |
KEDA could scale
Deploment, StatefulSet
(as requested in #497) or anyCustomResource
that implemtents/scale
subresource (eg. Argo Rollout as requested in #595). This functionality should work out of the box for users, ie. they won't have to perform any changes on their workloads.To enable this a few changes would be needed:
scale
subresourcescale
subresource on any CRDeployment
ScaledObject
and create a specialCR
forJob
as it is suggested in IntroduceScaledJob
&ScaledObject
#653Proposed change:
There is a change in
scaleTargetRef
section, if user specifies onlyname
, KEDA would assume that the target isDeployment
, if user wants to target any other workload, fieldsapiVersion
andkind
need to be specified appropriately.I am working on POC to check if it is possible to achieve this. There shouldn't be any major changes in the scalers.
Open questions
Secrets
or Authentication in general?Secret
linked in containers in favor ofTriggerAuthentication
Secret
linked in containers only forDeployment
andStatefulSet
, it will be needed to specify thecontainerName
property somewhere in the spec. Where? Authentication support forCustomResources
would be possible only throughTriggerAuthentication
as it is hard to detect the correct container in the CR.@jeffhollan @tomkerkhove @ahmelsayed @anirudhgarg ^
The text was updated successfully, but these errors were encountered: