-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Use a reverse proxy to avoid routes/ingress creation at workspace startup #12914
Comments
cc @gorkem |
Issues go stale after Mark the issue as fresh with If this issue is safe to close now please do so. Moderators: Add |
/remove-lifecycle stale |
should it go into a backlog ? |
We should put it into a backlog during priotization |
Issues go stale after Mark the issue as fresh with If this issue is safe to close now please do so. Moderators: Add |
/remove-lifecycle stale |
We've started implementing the performance tests for the individual POCs. Take a look at https://github.com/che-incubator/che-gateway-poc. |
In the above mentioned POC repository, we now have 3 POCs implemented:
We're working on We're also working on the testsuite. We're developing a number of load test scenarios (https://github.com/che-incubator/che-gateway-poc/tree/master/test#testcases). We have not yet started websocket and cookie handling tests which we are going to start once the |
@jfaltermeier as a side-effect, yes it will help. We will have only one Ingress for whole Che and will do routing to workspaces ourselves, so we can do it more effectively than cluster. |
We have concluded the performance tests. I have created a number of subtasks to guide us through the implementation and referenced them in the description of this epic. We have not yet chosen the gateway solution though, because there was no clear winner. I have sent out an email to the Che-dev mailing list detailing our current thinking and progress. |
Note that we have concluded our testing of the candidate solutions for a reverse proxy. We chose Traefik and will commence the implementation with #17063 - making our Rust-based POC a fully maintained controller written in Go. To read more about the selection process and reasoning behind the choice of Traefik, please read through https://www.eclipse.org/lists/che-dev/msg03828.html |
all issues in the scope of this epic closed. related single-host issues will be solved separately. |
Description
In the past 2 years of running Che in production we have seen that OpenShift routes do not always fit our needs (we need to bring-up 3 or more routes in a few seconds for every user workspace). The same applies to Kubernetes Ingresses (still in Beta).
Thus the need to investigate alternatives. One proposal is to pre-create one workspace route/ingress for Che server and link it to a reverse proxy that will route all the workspaces traffic (e.g. re-use JWT proxy, envoy or traefik).
That would allow us to:
If this approach is validated we could divide the work in 4 steps
UPDATE Another important use case is associated to this issue: allow running Che workspaces on OpenShift (where single-host strategy is not available) when using wildcard SSL certificates is not possible.
Implementation
Reuse- Impossibleopenshift-router
Sidecar controller- not working on default Openshift 3.x due to shared process namespace being switched off by defaultImplement cookie path rewriting in Traefik ❓ Implement cookie path rewriting in Traefik #17062The text was updated successfully, but these errors were encountered: