feat(podprobe): add gRPC probe support using upstream Kubernetes prober#2336
feat(podprobe): add gRPC probe support using upstream Kubernetes prober#2336arnavgogia20 wants to merge 6 commits intoopenkruise:masterfrom
Conversation
- Add 'job7' with empty selector {} to initialJobs
- Expect 'job7' to match all nodes in TestGetActiveJobsForNodeImage
- This reproduces the issue where empty selector was matching nothing
Signed-off-by: Arnav Gogia <arnavgogia404@gmail.com>
Signed-off-by: Arnav Gogia <arnavgogia404@gmail.com>
Signed-off-by: Arnav Gogia <arnavgogia404@gmail.com>
Signed-off-by: Arnav Gogia <arnavgogia404@gmail.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2336 +/- ##
==========================================
+ Coverage 48.54% 48.75% +0.20%
==========================================
Files 324 324
Lines 27892 27934 +42
==========================================
+ Hits 13541 13619 +78
+ Misses 12821 12772 -49
- Partials 1530 1543 +13
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: Arnav Gogia <arnavgogia404@gmail.com>
622fa32 to
f4ff503
Compare
Signed-off-by: Arnav Gogia <arnavgogia404@gmail.com>
f4ff503 to
014dfde
Compare
|
Hii @furykerry @veophi @zmberg , Can u please review the PR, thankyouu |
Hii @furykerry @veophi @zmberg , expecting a quick-review from your end , thankyouu |
Summary
This PR adds gRPC probe support to OpenKruise
PodProbe, enabling workloads to use native gRPC health checks in addition to existing HTTP and TCP probes.The implementation reuses the upstream Kubernetes gRPC prober to ensure behavior is consistent with kubelet and avoids duplicating protocol logic.
Why is this needed?
gRPC-based services are increasingly common, and Kubernetes already provides first-class support for gRPC health probes.
However,
PodProbein OpenKruise did not previously supportGRPCAction, which limited its usability for modern microservices.This change closes that gap and improves feature parity with core Kubernetes probing behavior.
Key Changes
Code
k8s.io/kubernetes/pkg/probe/grpcinto theproberlifecycleGRPCActioninrunProbeHosttoPodIPwhen not explicitly specifiedTests
google.golang.org/grpc/healthSERVING)NOT_SERVING)Behavior Notes / Edge Cases
timeoutSeconds) is fully respected by the gRPC probe path.Verification
go test -v ./pkg/daemon/podprobe/...Related Issue
Closes #2334