-
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
Question: Running Che on Mesos #2536
Comments
Hi @Spritekin - what you are thinking about with Mesos, sounds like it could be possible. The biggest challenge will be that (right now) Che must have direct access to the Docker daemon. We are working on an SPI for later this year which will allow different platform providers to intercept our workspace management commands that are directed for a Docker daemon and then invoke specific APIs of a provider such as Mesos or OpenShift. So, if you are going to snapshot and move files around, you will need to capture the Che server, the Che configuration, all of the projects (which are stored in CHE_DATA_FOLDER), and then also all of the workspace snapshots, which will be Docker images, stored in the appropriate Docker location (or registry). All of those assets will need to be on an NFS mountable directory. a. How much RAM and cpu are recommended for the launcher and the slave. b. How much RAM is required per concurrent session? Does each session starts an independent runtime? c. I imagine the runtime runs in the same machine as the che server. Is it possible to set the used RAM for the runtime? d. Is there some tool in Eclipse Che to burn my program into the runtime and output a new image ready to work (I use python)? Is there a tool to build a new runtime image from a previous runtime? Imgine, starting from python:2.7, then pip install boto3, build new image, push image to my registry, change runtime to the new image, all without leaving che? e. Is it possible to ask che to run the programs starting the runtime in other server? f. How resilient is che to a crash? File or project loses? g. Any plans to make this a framework... like installing a mesos framework plugin into eclipse? Then run my program as a daemon in other server and leave it running as a test of my machine learning code, while I continue coding. |
Thanks Tyler! I will do some tests and post again on my experiment results. Luck! |
Closing as I think it will reguire this to work at least in a minimum level. A more complicated approach would be to use some volume management solution like flocker but it would be a very hard requirement so I prefer staying away from it. |
@Spritekin - you may want to look at the work of Google, which has some preliminary work to get Che working on Kubernetes. They are using docker in docker to achieve some interesting behaviors. https://github.com/wernight/kubernetes-che |
@TylerJewell The problem is not making Che work itself. The problem is that if the host crashes and is automatically restarted, it will probably go to other node so it won't find the workspaces. By having the worspaces in a NFS it doesn't matter in which host it starts and I can start multiple che servers. You have no idea how much I want to put Che to work. I have researchers and each one likes their platform (Windows, Linux, OSX). Having Che as their common IDE sharing workspaces would be a boon. |
Also - you may want to take a look at this PR - which simplifies how che runs as a container. We have simplified everything down to a single volume mount. #2786 |
we also want to Running Che on Mesos, cloud you please give me some advice and guidance? |
We should soon have instructions for running Che on kubernetes. I think running Che on kubernetes running mesos is your best bet. @l0rd Do you know if we have an issue created for kubernetes support that can be followed up? |
@gorkem no there is no issue dedicated to k8s. I had in mind to merge what I had done for JavaOne to master but the official k8s support should come with Che 6 and the SPI. Anyway if it can be useful here is the branch with the code, the bash script to install Che on k8s, and |
oh I see new SPI for v6 . I want to know when will be released |
Hi,
This question is theoretical, just looking for comments.
I was wondering if I can run che on a mesos cluster. For example, start che launcher using marathon, then mount an NFS to store the workspaces.
As the NFS is connected to all the slaves, then marathon can start che in any node and it will find the NFS with the workspaces.
It also means if the che launcher fails or the node crashes, marathon will relocate che to other node for minimal downtime. Small file losses maybe but nothing critical.
My nodes are AWS m4.2xlarge nodes with 8 CPUs and 32GB RAM each.
So my questions:
a. How much RAM and cpu are recommended for the launcher and the slave.
b. How much RAM is required per concurrent session? Does each session starts an independent runtime?
c. I imagine the runtime runs in the same machine as the che server. Is it possible to set the used RAM for the runtime?
d. Is there some tool in Eclipse Che to burn my program into the runtime and output a new image ready to work (I use python)? Is there a tool to build a new runtime image from a previous runtime? Imgine, starting from python:2.7, then pip install boto3, build new image, push image to my registry, change runtime to the new image, all without leaving che?
e. Is it possible to ask che to run the programs starting the runtime in other server?
f. How resilient is che to a crash? File or project loses?
g. Any plans to make this a framework... like installing a mesos framework plugin into eclipse? Then run my program as a daemon in other server and leave it running as a test of my machine learning code, while I continue coding.
Just a few questions that came to my head. I think che is awesome and just what I needed, I just need to integrate this into my architecture.
Thanks!
The text was updated successfully, but these errors were encountered: