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

gRPC probes instead of Exec probes #391

Open
LionelJouin opened this issue Mar 6, 2023 · 1 comment
Open

gRPC probes instead of Exec probes #391

LionelJouin opened this issue Mar 6, 2023 · 1 comment

Comments

@LionelJouin
Copy link
Member

Is your feature request related to a problem? Please describe.
Due to the ExecProbes, the userspaces program might be slower than expected. NFQLB in the stateless-lb might have some latency and performance issues.

We use Exec probes because the probes are exposed via GRPC, so we use this project for health checking: https://github.com/grpc-ecosystem/grpc-health-probe

Describe the solution you'd like
Since Kubernetes 1.23, GRPC probes is a native feature, it can be enabled via the GRPCContainerProbe feature gate, and is already enabled from Kubernetes 1.24.
We must replace all Exec probes by GRPC probes in all components for Kubernetes 1.24 deployment.

Describe alternatives you've considered
/

Additional context
/

@LionelJouin
Copy link
Member Author

LionelJouin commented Mar 13, 2023

Benchmark to see if there is any improvement:

1. Deploy with 1 worker
2.a ping vip every 1 ms (-i 0.001) during 20 seconds (now during 5 minutes) (ping  -i 0.001  <VIP> -w 30)
2.b Running TCPdump on all interfaces in the stateless-lb (filter on ICMP) (tcpdump -l -i any 'icmp[0] == 0 || icmp[0] == 8')
3. Parsing the tcpdump output and compute the differences between In (from the gateway) and Out (towards the proxy) of a packet And check how much time a packet spends in the pod. 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 📋 To Do
Development

No branches or pull requests

1 participant