Open
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