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
Improve Hubble Relay Kubernetes Readiness/Liveness check #28765
Conversation
73c3fe1
to
5ebbaae
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work, glad to see this implemented! Two minor comments around the Kubernetes manifest
install/kubernetes/cilium/templates/hubble-relay/deployment.yaml
Outdated
Show resolved
Hide resolved
install/kubernetes/cilium/templates/hubble-relay/deployment.yaml
Outdated
Show resolved
Hide resolved
7f67338
to
bc8f699
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Glad to see that the local server simplifies the probe. I've left some additional feedback
bc8f699
to
523568f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot! I hope the gRPC probe will support accessing from localhost in the future, so we can switch it to listening on localhost only. But for now, this seems like the best approach
/test |
523568f
to
ef0a90e
Compare
a923464
to
6315553
Compare
6315553
to
93d2c8c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
/test |
93d2c8c
to
737ac92
Compare
/test |
/test 1.1.1.1 was down, failing connectivity tests. Hence re-running. |
This PR will be ready-to-merge once all conversations are resolved. @glrf, can you take care of that? Then I'll click the big green button. |
@glrf could you please rebase? The PR picked up some conflicts :/. |
Signed-off-by: Fabian Fischer <fabian.fischer@isovalent.com>
This commit updates the relay gRPC health server to check connectivity to the peer service and hubble backends. The health server is only serving, if the peer service and at least one hubble observe service is available. Signed-off-by: Fabian Fischer <fabian.fischer@isovalent.com>
Switch from simply checking if the gRPC tcp socket is open, to using the gRPC Health Checking Protocol. To do that we add the grpc_health_probe[1] binary to the hubble relay container image and use `exec probes` We can't use the built-in gRPC health checking as it doesn't yet support TLS and because we still support k8s versions before v1.23. [1] https://github.com/grpc-ecosystem/grpc-health-probe Signed-off-by: Fabian Fischer <fabian.fischer@isovalent.com>
737ac92
to
529ac73
Compare
/test |
Hi @glrf, PR #29111 is hitting some CI issues with hubble-relay starting up (link), do you think that this could be somehow related to this change? I haven't done much investigation, but I just noticed that this change went in recently and the other PR is hitting issues with hubble-relay. I don't know if this PR is related or not. |
Please ensure your pull request adheres to the following guidelines:
description and a
Fixes: #XXX
line if the commit addresses a particularGitHub issue.
This commit improves the exiting Hubble Relay Readiness and liveness checks by using the gRPC Health Checking Protocol.
To do that we add the grpc_health_probe binary to the hubble relay container image and use
exec probes
. We can't use the built-in gRPC health checking as it doesn't yet support TLS and because we still support k8s versions before v1.23.We also update the the existing gRPC health server to check connectivity to the peer service and hubble backends. The health server is only serving, if the peer service and at least one hubble observe service is available.
This PR also contains a relatively unrelated fix for graceful shutdown of hubble relay. It simplified the tests, but I can also split it into two PRs if requested
closes #23542