Agent-side tunnel rate limiting
I realized that by default client-go sets queries-per-second QPS to 5 and burst to 10. This is obviously not enough to satisfy kubectl making ~100 requests a second to fetch the discovery information. In fact, discovery client sets QPS to 100 if it's less than that. We need to do the same in the proxying code on the agent side to speed things up and help prevent timeouts.
Edited by Mikhail Mazurskiy