kubernetes-client/python

Set tcp keepalive for http connections

Open

#2067 aperta il 6 giu 2023

Vedi su GitHub
 (4 commenti) (7 reazioni) (0 assegnatari)Python (3323 fork)batch import
help wantedkind/feature

Metriche repository

Star
 (6225 star)
Metriche merge PR
 (Merge medio 10g 3h) (2 PR mergiate in 30 g)

Descrizione

What is the feature and why do you need it:

Currently when a watch is opened to the kubernetes api we do not send regular keepalives on the connection. That means that if the watch is not receiving any updates a reverse proxy in the path might terminate the tcp connection.

The go client is currently sending a tcp keepalive every 30 seconds: https://github.com/kubernetes/client-go/blob/release-1.27/transport/cache.go#L104-L107

Describe the solution you'd like to see:

On linux set a socket options to update the keepalive time, just like it is done in go here: https://go.dev/src/net/tcpsockopt_unix.go

I do not have particular feelings regarding other operating systems

Guida contributor