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

Multi cluster support #18617

Closed
1 task done
l0rd opened this issue Dec 15, 2020 · 4 comments
Closed
1 task done

Multi cluster support #18617

l0rd opened this issue Dec 15, 2020 · 4 comments
Labels
area/che-server area/hosted-che kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/1-year Epics that are planned to complete in the short term (12 months or more) severity/P1 Has a major impact to usage or development of the system.

Comments

@l0rd
Copy link
Contributor

l0rd commented Dec 15, 2020

Is your enhancement related to a problem? Please describe.

The next Che online service will be the one hosted by Red Hat Developer Sandbox. That service uses a vanilla CodeReady Workspace instance (Eclipse Che distributed by Red Hat).

The service is currently on Beta and runs on a single OpenShift cluster. To be able to scale we will soon need to provision users among multiple clusters.

Describe the solution you'd like

Use one central Che server that based on the user sends the workspace creation request to the right Kubernetes cluster. That should probably be done in the context of Che using the DevWorkspace operator to avoid doing the work twice.

Describe alternatives you've considered

A short term alternative would be to deploy one Che/CRW instance per Kubernetes cluster and deploy a central proxy to route that will be responsible to route the requests to the right Che/CRW instance. That assumes that an external service provides the cluster where a given user is provisioned.

Implementation

@l0rd l0rd added the kind/enhancement A feature request - must adhere to the feature request template. label Dec 15, 2020
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Dec 15, 2020
@l0rd l0rd added kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. area/hosted-che area/che-server severity/P1 Has a major impact to usage or development of the system. and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. labels Dec 15, 2020
@sparkoo
Copy link
Member

sparkoo commented Dec 16, 2020

  • Is single user forever bound to one cluster for her workspaces and Che server is acting as a load-balancer here?
  • Is Che server responsible to create and maintain these User <> Cluster bounds?

@l0rd
Copy link
Contributor Author

l0rd commented Dec 18, 2020

  • Is single user forever bound to one cluster for her workspaces and Che server is acting as a load-balancer here?

No. There are use cases where workspaces of a same user need to be scheduled on different clusters. For example, a european user's workspace will be scheduled in the european cluster but, if he travels to north america, he will expect his workspaces to be scheduled in the north american cluster.

  • Is Che server responsible to create and maintain these User <> Cluster bounds?

The criteria to find the most appropriate cluster for a user (european or north american for example) is out of the scope of this issue. For this issue we should assume that a distinct service associates one user to one particular cluster and, that this association can change between the creation of two workspaces.

@l0rd
Copy link
Contributor Author

l0rd commented Dec 18, 2020

cc @alexeykazakov @pdaverh

@l0rd
Copy link
Contributor Author

l0rd commented Oct 26, 2021

Closing this issue as that is supposed to be supported through KCP

@l0rd l0rd closed this as completed Oct 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/che-server area/hosted-che kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. roadmap/1-year Epics that are planned to complete in the short term (12 months or more) severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

No branches or pull requests

3 participants