You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
KEDA could scale Deploment, StatefulSet (as requested in #497) or any CustomResource that implemtents /scalesubresource (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:
modify the RBAC to allow operator to access scale subresource
implement polymorphic scale client to access scale subresource on any CR
make the scale logic more general and not bound strictly to Deployment
There is a change in scaleTargetRef section, if user specifies only name, KEDA would assume that the target is Deployment, if user wants to target any other workload, fields apiVersion and kind 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.
We could drop support of Secret linked in containers in favor of TriggerAuthentication
We could keep support of Secret linked in containers only for Deployment and StatefulSet, it will be needed to specify the containerName property somewhere in the spec. Where? Authentication support for CustomResources would be possible only through TriggerAuthentication as it is hard to detect the correct container in the CR.
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/v1alpha1kind: 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/v1alpha1kind: 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.
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: