Skip to content

[feature request] Support gRPC-based liveness/readiness probes in PodProbe #2334

@arnavgogia20

Description

@arnavgogia20

Feature Request: gRPC Probe Support

Background

Kubernetes natively supports gRPC-based liveness and readiness probes using the standard grpc.health.v1.Health protocol. These probes are increasingly common in modern, gRPC-native microservice architectures.

However, the OpenKruise PodProbe daemon currently does not support gRPC probes. An unresolved TODO exists in the probe implementation, resulting in gRPC probe configurations being ignored.


Current Limitation

File:

  • pkg/daemon/podprobe/prober.go (around line 83)

The probe logic lacks handling for gRPC probe definitions, creating a feature gap compared to kubelet behavior and limiting compatibility with workloads that rely on gRPC health checks.


Proposal

Add support for gRPC probes in the PodProbe daemon by:

  • Detecting gRPC probe configurations in container specs
  • Implementing health checks using the standard grpc.health.v1.Health protocol
  • Respecting probe configuration fields such as:
    • timeoutSeconds
    • failureThreshold
    • successThreshold
  • Ensuring behavior is consistent with Kubernetes kubelet semantics

Impact

  • Improves compatibility with gRPC-native applications
  • Aligns OpenKruise PodProbe behavior with upstream Kubernetes
  • Enables broader adoption for service-mesh and modern microservice workloads

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions