Skip to content
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

Allow use of other metrics-adapter together with keda-metrics-adapter #763

Closed
frank-berlin opened this issue Apr 19, 2020 · 5 comments
Closed
Labels
feature-request All issues for new features that have not been committed to needs-discussion stale All issues that are marked as stale due to inactivity

Comments

@frank-berlin
Copy link

Allow use of other metrics-adapter like custom-metrics-stackdriver-adapter together with keda-metrics-adapter.

There is the current limitation to k8s that only one custom and external metrics-adapter can be used.
To workaround the problem, the keda-metrics-adapter could forword requests what there can't handle to an other metrics-adapter.
For the discovery calls it would need to do a merge with the keda data.
A clear and concise description of what you want to happen

Use-Case

Use keda and "non keda" HPA in same cluster based on external metrics.
For example custom-metrics-stackdriver-adapter and use metrics from appengine, memcache,...
Other usage is to allow a smooth migration of of existing HPA to keda based HPA, instead need todo all in one step.

This also reduce the scalers need to implemented, as sources available via other external metrics-adapter can be used for HPA.

Specification

filter request which are for keda metrics and process them as normal. All other need to forwarded other external metrics-adapter.
For discovery requests:

  • forward to other external metrics-adapter
  • do internal discovery
  • merge results
@frank-berlin frank-berlin added feature-request All issues for new features that have not been committed to needs-discussion labels Apr 19, 2020
@markusthoemmes
Copy link
Contributor

How would keda‘s metric adapter know about the other metric adapters in the system though? Can‘t there only be one apiservice registered?

@frank-berlin
Copy link
Author

This need to be configuration at keda-metrics-adapter.
Also the apiservice register of other metrics-adapter, need to removed/overwritten by keda-metrics-adapter.
From k8s view keda-metrics-adapter is visible only.

@zroubalik
Copy link
Member

This could potentially result into never ending overwriting of the APIService if the other metrics-adapter is for example deployed by an operator, that watches it's resources. I am not sure if overwriting resources owned by another app is a good practise 🤷‍♂️

But interesting idea, @frank-berlin do you have any example of how could be done the forwarding of unknown metrics to the other metrics-server?

@stale
Copy link

stale bot commented Oct 14, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale All issues that are marked as stale due to inactivity label Oct 14, 2021
@stale
Copy link

stale bot commented Oct 21, 2021

This issue has been automatically closed due to inactivity.

@stale stale bot closed this as completed Oct 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request All issues for new features that have not been committed to needs-discussion stale All issues that are marked as stale due to inactivity
Projects
None yet
Development

No branches or pull requests

3 participants