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

Implement GRPC Healthchecks so only leader-elected GRPC server serves requests #5590

Closed
aliaqel-stripe opened this issue Mar 11, 2024 · 0 comments · Fixed by #5581
Closed
Labels
feature-request All issues for new features that have not been committed to needs-discussion

Comments

@aliaqel-stripe
Copy link
Contributor

aliaqel-stripe commented Mar 11, 2024

Proposal

We want to run the KEDA Operator in leader elected mode, however, as implemented today, the GRPC server starts only once the leader election lock is taken.

Our envoy mesh relies on healthchecks to determine if a GRPC server is up so without healthchecks, Envoy will panic route between endpoints (if we use the http health checks for service endpoint availability) even if one endpoint is actually health.

What we'd like to do is add GRPC healthchecks such that the server is started before the leader election lock is taken but reports NOT_SERVING, and after the lock is taken, the server returns SERVING.

Use-Case

When running two or more endpoints, we need to have endpoints report GRPC healthcheck status to avoid panic routing on our service mesh.

Is this a feature you are interested in implementing yourself?

Yes

Anything else?

Discussed here in Slack:
https://kubernetes.slack.com/archives/CKZJ36A5D/p1705683700809119

@aliaqel-stripe aliaqel-stripe added feature-request All issues for new features that have not been committed to needs-discussion labels Mar 11, 2024
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
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant