-
Notifications
You must be signed in to change notification settings - Fork 159
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
GRPC health check? #522
Comments
Update -- I tried |
That's what I was going to suggest. Does bazel-remote log anything when the health check fires? If you see a GETCAPABILITIES log line then the request was made successfully, maybe kubernetes requires this specific healthcheck service? |
I wonder if something like this works? #523 I'm not sure what service string should be specified in the SetServingStatus, and this probably needs a tweak to make it work with the authentication interceptor. Would you be able to test this? |
@mostynb I can definitely test and experiment with different configs. We use other gRPC service (mostly from Node) which all expose a default health check on
To your earlier question, I don't see any log entries when the ALB checks |
Should I use |
@mostynb the path doesn't matter as long as we know what it is but it appears When setting up the ALB health check we specify the path to use and configure this via. a Kubernetes Ingress Rule using an annotation. See https://kubernetes-sigs.github.io/aws-load-balancer-controller/v1.1/guide/ingress/annotation/#healthcheck-path Here's an example from one of our Node gRPC services - our services expose https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto on Thanks. |
Updated the PR (not tested locally yet). |
Hi @mostynb, anything I can do to help test? |
I built a docker image of the PR, and pushed it here in case that helps you to try it out: https://hub.docker.com/layers/190857780/mostynb/bazel-remote-cache/grpc_health_check_pr/images/sha256-2bb6fa6e129ed6ab9b617a092275f2c067eeddf7f6d600720c869e8a752ce793?context=repo |
Thanks, I'll make time to check it out this week. |
Hi @mostynb, I was able to test your Docker image today and was able to get things working with authentication disabled. We make use of password authentication For it to work with the ALB checks it needs to bypass auth. This would follow the same path that the FYI -- I also found this tool useful for local testing: https://github.com/grpc-ecosystem/grpc-health-probe |
Thanks for the update. This might work with |
I landed #523 and pushed a new "latest" image to dockerhub (quay.io is readonly for maintenance work right now, I'll update that later). The health check service should not require authentication now. Please let me know if there are any problems. |
@mostynb -- I verified the image Would you mind pushing the image with a semver tag so I can pin the version? Very much appreciate your help in getting this support in. |
I plan to make a new bazel-remote release once #527 and bazelbuild/remote-apis#213 land (hopefully soon). |
Released v2.3.4. |
Awesome, thank you @mostynb |
I'm setting up the cache in EKS (AWS) with an ALB and need to define a gRPC health check. Similar to the HTTP endpoint
/status
, is there a gRPC path and success code I can use to check overall gRPC endpoint health?I've tried the following but it's still failing health checks likely due to a bad path:
I'm guessing the path is incorrect but don't know what the path and success code would be for the Bazel cache proto.
Thanks.
The text was updated successfully, but these errors were encountered: