Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kubernetes Scalability Question #64

Open
jsa4000 opened this issue Jan 1, 2025 · 1 comment
Open

Kubernetes Scalability Question #64

jsa4000 opened this issue Jan 1, 2025 · 1 comment

Comments

@jsa4000
Copy link

jsa4000 commented Jan 1, 2025

Hi,

I have just a question regarding ssh connections to a kubernetes cluster and its scalability. Since kubernetes provider uses kubectl exec command and a tunnel using ssh to stablish the connection (stdio), all connections are stablished using the kubeconfig information and the IP for the master node (or Proxy if HA kubetnetes cluster).

From this, I would like to ask what would happen if 1k users try to connect to its devpod within the same cluster. Do you think this could be a scalability problem in the future the way devpod connects to the cluster? Do you think having an ingress that expose TCP/SSH port (or nodeport) could solve the problem regarding too many connections to the same cluster? Moreover having long connections opened may require nodes to support many IO handlers.

Did you try a benchmark to test how many connections could be limited to the current approach?

Thanks in advance.

Regards
Javier

@pascalbreuninger
Copy link
Member

Hey @jsa4000, that's something to keep an eye on indeed.
We haven't tested the limits of this approach yet but like you mentioned there's a single point of failure in the apiserver.
If the apiserver goes down, no one is able to connect to their workspaces although the workloads aren't affected. We're currently looking into ways of circumventing this and connecting to the workspaces directly.
Exposing the workload via an ingress would certainly help but also be very cumbersome in configuration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants