-
Notifications
You must be signed in to change notification settings - Fork 40k
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
Using docker restart remote API to restart container? #629
Comments
In general starting a new container guarantees a clean filesystem start state, whereas restart (unless this has changed recently) won't. I think we would want to use clean states as much as possible. I think you are correct that without checkpoint state we must retain the docker containers. An intermediate solution would be to log the state to disk and then clean the containers. |
Using restart has the advantage that any temporary on-disk state would be
|
Ideally recording the exit condition and deleting the old container happens before the restart. If your crash is due to quota and you were the one writing it you probably can't restart until the original container is deleted anyway (is debug-ability or being available more important? I think you can come up with reasons why either is preferred, although you may want to get access to the old, crashed container as a separate operation. |
We have had a bad experience waiting for disk cleanup on a container Obviously, if you are out of disk space, you are kind of stuck, but On Sat, Jul 26, 2014 at 8:22 AM, Clayton Coleman notifications@github.com
|
So prioritize at least the possibility that some subset of processes (those that at least do cleanup on start) can come up when restarted? Makes sense |
I'm not sure I am arguing one way or the other. Just exploring the idea. On Sat, Jul 26, 2014 at 8:34 AM, Clayton Coleman notifications@github.com
|
Debuggability and availability should be equally important to the user. At different stage of software / service lifecyle, one of them might be preferred. But talking about debuggability, in most of cases, only the initial failure and the last failure are interesting to the users. In this case, we could have an asyn operation to do disk cleanup for all crashed/restarted containers. |
Preliminary integration tests for getting events
Backends: Remove Run() from interface as it's not used
UPSTREAM: <carry>: rate limit initial watch storm from kubelets on apiserver restart
…image images: use k8s-staging-test-infra/gcb-docker-gcloud
This might not an issue, instead of an intention for a good reason. But I need a clarification here. By working on #127, I noticed that we always start a new docker container instead of using restart API. In this case, we leave a tons of garbage containers in the node. Any reasons? The only reason I could come up is that Kubelet doesn't have checkpoints, thus the number of restart attempts will be lost. #489 was filed for kubelet checkpointing. Also before we have that ready, shouldn't we pull the information directly through docker?
The text was updated successfully, but these errors were encountered: