Set tcp keepalive for http connections
#2.067 aberto em 6 de jun. de 2023
Métricas do repositório
- Stars
- (6.225 stars)
- Métricas de merge de PR
- (Mesclagem média 10d 3h) (2 fundiu PRs em 30d)
Description
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