Has anyone experienced scalability issues with kubectl port-forward? I’m wondering whether, eg, many users utilizing the feature to upload and download data into/out of the cluster might reduce the availability of the k8s API server.
I’ve not used this on scale, but my guess is that it is really don’t designed for that use.
I don’t know the code for port-forward, but for example kubectl exec tunnel goes via the master and it is not designed to use at scale (it will have an impact on the master, chaos and destruction :-D). My guess is that something similar will happen to port-forward.
I tend to think those tools are supy to be sporadically used. If your use case needs to do that at scale, then probably you should make it a first class citizen instead. But this is mostly a gut feeling, I don’t really know the code.
I would advise before relying on these tools, at least to check the code or experiment with the load you expect and monitor it carefully.
Hopefully someone with more experience can comment
I made a sample where we detect that the proxy port-forward reduce the performance. In this US I read a csv file (2.3GB) with 170M rows, recovering 20000 rows located in a minio object storage inside a minikube using AWS S3 Select framework from python and the results were:
3 seconds using a direct connection between the client and minio