Comments (5)
@kfox1111 We are generally happy to have this. According to discussions in original issue, kubernetes/kubernetes#29913, kubelet does not have plan to support multi-runtimes in short term plan, and in long term, sig-node agreed multi-runtimes may be better implemented by remote runtime itself. frakti is a nice place to do this.
One of the blockers which has been fixed recently is CNI network: #62, this will make this refactoring much easier.
from frakti.
In stead of adding a proxy in front, like: https://github.com/Mirantis/virtlet/blob/master/pkg/criproxy/proxy.go, we plan to vendor dockershim
in order to reuse duplicated modules like networking. cc @Crazykev
from frakti.
Hi, just wanted to chime in concerning CRI proxy from Virtlet project that you linked to. It's not tied to other parts of Virtlet and we can spin it off into a separate project rather easily so more projects can make use of it. The possible benefits of using the proxy are saving effort on implementation of multiple-runtime dispatch and an ability to deploy alternative runtimes as DaemonSets (thus much easier setup procedure). Another thing we're working on is single-command Virtlet demo startup based on kubeadm-dind-cluster and you can do similar thing for frakti if you want (the proxy has experimental 'bootstrap' feature where it uses DynamicKubeletConfiguration feature to bootstrap itself; this is good for demos)
As of vendoring dockershim
, as far as I can I see pkg/kubelet/dockershim package contains mostly stuff tied to docker, and reusing other parts of kubelet package doesn't preclude the usage of the proxy. So if you reconsider your approach a bit please let us know and we'll be glad to help.
cc @pigmej @jellonek @vefimova
from frakti.
As of single-command demo, we envision it as a simple shell script that can be downloaded to a Linux or a Mac with Docker and used to launch kubeadm-dind-cluster (newer version will not need k8s source) and then install Virtlet on it (on Macs it'll be plain qemu
instead of qemu-kvm
but that doesn't matter much for demo purpose). Similar approach can be used for other projects that employ CRI proxy.
from frakti.
Thanks @ivan4th, after talk with other frakti maintainers, we reached an agreement that we should not hack container/sandbox ID. So we kept the vendor way. Although less elegant, but friendly to CRI ...
from frakti.
Related Issues (20)
- Implement ImageStats API HOT 7
- hyperd api field update
- Upgrade cri to v1alpha2 HOT 1
- finished with errors: map[addInterface:allocate device failed] HOT 1
- kubelet node register has failed HOT 4
- kubelet Failed create pod sandbox got wiretype 0, want 2 HOT 2
- k8s can't exec to pod, unknown runtime: remote HOT 8
- Network in POD doesn't work fine HOT 8
- Upgrade dockershim to 1.10 HOT 9
- [GSoC] Give more technical inside about containerd plugin for kata-container runtime HOT 6
- [GSoC] Some questions about "containerd-kata" HOT 4
- [GSoC] Which Category to choose for this GSoC project HOT 1
- Deprecate dockershim in vendor and change to use new containerd based architecture HOT 10
- Create a SECURITY_CONTACTS file. HOT 2
- Hyperd: got wiretype 0, want 2 HOT 11
- Update frakti to 1.11 HOT 1
- Use tide for PR merging HOT 1
- Upgrade frakti to Kubernetes v1.12 HOT 5
- frakti permissions cleanup HOT 13
- Snap package suppport HOT 2
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 frakti.