Comments (4)
We have created an issue in Pivotal Tracker to manage this:
https://www.pivotaltracker.com/story/show/156751366
The labels on this github issue will be updated when the story is started.
from garden-runc-release.
Hey @abh1kg, garden doesn't currently support checkpoint and restore for containers right now, so there's no need for us to package up criu
with the release. We do occasionally get asked about this though. Out of interest what are you looking to with checkpoint/restore?
from garden-runc-release.
@teddyking One of the reasons I wanted to use criu
was to be able to migrate in-flight TCP connections to another up-and-coming Garden container as part of a blue-green deployment workflow. Such TCP connections include stuff like SSH connections/Websocket connections etc.
Out of curiosity, why doesn't Garden support checkpoint and restore though? Since it is runc
-compliant and runc
supports criu
operations out of the box, I was assuming it to be also available for Garden containers. I can understand the entire workflow and support not being there directly from Cloud Foundry but wouldn't one be able to log on to a diego cell and run the checkpoint operations manually?
from garden-runc-release.
Hi @abh1kg, there's no reason you couldn't manually run criu
(as you say it's all just runc under the covers!), but it's not something we support or that Diego/cloud foundry exposes to users. The reason for that is the CF model is to have stateless apps so we can automatically patch and manage the cluster easily. You can do a blue/green deployment by deploying the new version of your application in CC and then swapping the route over using cf map-route
without needing checkpoint/restore. Also, when hosts are upgraded, Diego first ensures there's enough new instances of your apps on other cells before shutting down a cell to upgrade. Since all the instances should be equivalent and stateless there's generally no need in CF to worry about a serialising the memory of one particular container of an app, and it introduces a lot of complexity to the scheduling and container lifecycle if we have to deal with rescheduling running containers instead of treating them as immutable, stateless and replaceable.
Having said that if you want to experiment with criu on a garden cell there's no obvious reason it won't work (you'll have to install the binary yourself, perhaps in your own bosh release), and feel free to drop by the #garden channel on cf slack if we can help!
from garden-runc-release.
Related Issues (20)
- Handle reserved space on `ext4` HOT 2
- Garden might fail to generate the bundle when mounts from an SMB volume are present HOT 1
- Bump Go to v1.17 HOT 3
- Replace `windows-tools-release` with our own private release HOT 2
- thresholder flakes HOT 2
- Use containerd-style stdin closer instead of exponential backoff stdin close HOT 2
- Get the protobuf duplicate fix registration warning/panic fixed in log-cache-release HOT 3
- GrootFS additional metrics HOT 7
- Support exporting garden-runc-release on windows HOT 4
- Uninitialized constant when rendering job template HOT 15
- Add support in CFAR for per-docker-app seccomp profiles HOT 6
- Upgrade busybox to 1.34.1 HOT 1
- Question: now the app container started by garden, the PID 1 process is app process? HOT 3
- gdn binary is gone in 1.20.9 release assets HOT 3
- Gdn failed to run on ubuntu bionic HOT 33
- Release gdn binary for ARM HOT 2
- release 1.22.9 doesn't include gdn binary HOT 2
- containerd and runc are included in two places that cause versions falling out of sync HOT 1
- Pinned dependecies should have a reason or unpinned
- Test issue. Please Ignore.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from garden-runc-release.