Create RunV + hyperstart
Incorporating input from Hyper Contributors. Ready for TOC Review
This commit is contained in:
parent
5517514b28
commit
397eabe1fd
1 changed files with 112 additions and 11 deletions
|
@ -1,14 +1,20 @@
|
|||
## Introduction
|
||||
|
||||
The process is the same for both existing projects which seek to move into the CNCF, and new projects to be formed within the CNCF.
|
||||
|
||||
Project Proposal Requirements. Projects must be proposed via GitHub. Project proposals submitted to the CNCF (see example) must provide the following information to the best of your ability:
|
||||
|
||||
name of project (must be unique within CNCF)
|
||||
|
||||
## Project description (what it does, why it is valuable, origin and history)
|
||||
`runV` is a hypervisor-based container runtime implementation for [OCI](https://github.com/opencontainers/runtime-spec).
|
||||
It uses hypervisors (KVM, Xen, etc.), instead of Cgroup/Namespace to spawn and run containers.
|
||||
runV is able to launch a container image (Docker, OCI, etc.) into a micro VM in 100ms,
|
||||
and still keeps the hardware-enforced isolation in virtualization. The combination allows container to replace
|
||||
traditional VM as the building block for future cloud, which is container-native and application-centric.
|
||||
|
||||
`hyperstart` is a independent component for `runV` which is used as init service (PID=1) inside the VM sandbox to handle
|
||||
commands from outside world. This is the key to hypervisor based container to match the design and behavior of Linux container.
|
||||
|
||||
'runV` is integrated with [Kubernetes](https://github.com/kubernetes/features/blob/master/release-1.6/release-notes-draft.md#node-components-1 ) as an plug-able secure CRI runtime to launch micro VM as Pod. Also, `runV` can work with `containerd` to start secure container. Besides security and isolation, `runV` also brings greater workload compatibility (kernel module, kernel version, Bring-Your-Own-Kernel) to multi-tenant environment.
|
||||
|
||||
* statement on alignment with CNCF charter mission
|
||||
`runV` tries to enable native hypervisor-based runtime in Kubernetes and CNCF community in cloud native way. This is a important
|
||||
supplement to current ecosystem especially considering the coming soon roadmaps including hard multi-tenancy, container security,
|
||||
and legacy application adoption. By closely working with CNI, CRI, containerd, Prometheus etc, `runV` is looking forward to fostering
|
||||
the growth of CNCF community to a wider area.
|
||||
|
||||
* sponsor from TOC - Ken Owens
|
||||
|
||||
|
@ -17,21 +23,116 @@ name of project (must be unique within CNCF)
|
|||
* license - Apache 2
|
||||
|
||||
* source control - GitHub
|
||||
https://github.com/hyperhq/runv
|
||||
https://github.com/hyperhq/hyperstart
|
||||
|
||||
* external dependencies (including licenses)
|
||||
`runV` only has very limited external dependencies which are mostly used as utils:
|
||||
|
||||
```
|
||||
github.com/RoaringBitmap/roaring Apache 2.0
|
||||
github.com/Sirupsen/logrus MIT
|
||||
github.com/cloudfoundry/gosigar Apache 2.0
|
||||
github.com/urfave/cli MIT
|
||||
github.com/docker/docker/integration-cli/checker Apache 2.0
|
||||
github.com/docker/docker/pkg/longpath Apache 2.0
|
||||
github.com/docker/docker/pkg/mount Apache 2.0
|
||||
github.com/docker/docker/pkg/reexec Apache 2.0
|
||||
github.com/docker/docker/pkg/symlink Apache 2.0
|
||||
github.com/docker/docker/pkg/system Apache 2.0
|
||||
github.com/docker/go-units Apache 2.0
|
||||
github.com/go-check/check BSD
|
||||
github.com/golang/glog Apache 2.0
|
||||
github.com/golang/protobuf BSD
|
||||
github.com/golang/snappy Apache 2.0
|
||||
github.com/hyperhq/hypercontainer-utils/hlog Apache 2.0
|
||||
github.com/kardianos/osext BSD
|
||||
github.com/kr/pty MIT
|
||||
github.com/mschoch/smat Apache 2.0
|
||||
github.com/opencontainers/runc/libcontainer/utils Apache 2.0
|
||||
github.com/opencontainers/runtime-spec/specs-go Apache 2.0
|
||||
github.com/philhofer/fwd MIT
|
||||
github.com/rgbkrk/libvirt-go MIT
|
||||
github.com/tinylib/msgp/msgp MIT
|
||||
github.com/vdemeester/shakers Apache 2.0
|
||||
github.com/vishvananda/netlink Apache 2.0
|
||||
github.com/vishvananda/netns Apache 2.0
|
||||
github.com/willf/bitset BSD 3
|
||||
golang.org/x/net/ BSD 3
|
||||
golang.org/x/sys/unix BSD 3
|
||||
google.golang.org/grpc BSD 3
|
||||
```
|
||||
|
||||
`hyperstart` is a tiny C implemented program which have no external dependency except Linux kernel.
|
||||
|
||||
|
||||
* initial committers (how long working on project)
|
||||
Lai Jiangshan @laijs
|
||||
|
||||
Gao Feng @gao-feng
|
||||
|
||||
Wang Xu @gnawux
|
||||
|
||||
All working on `runV` and `hyperstart` for 1.5+ years, with write permission.
|
||||
|
||||
* infrastructure requests (CI / CNCF Cluster)
|
||||
|
||||
* infrastructure requests (CI / CNCF Cluster): None
|
||||
|
||||
* communication channels (slack, irc, mailing lists)
|
||||
* Mailing list: [hyper-user](https://groups.google.com/forum/#!forum/hyper-user)
|
||||
* Slack: https://slack.hyper.sh
|
||||
|
||||
* issue tracker (GitHub by default)
|
||||
|
||||
* website (current version will move to project.cncf.io)
|
||||
* issue tracker - GitHub
|
||||
https://github.com/hyperhq/runv/issues
|
||||
|
||||
https://github.com/hyperhq/hyperstart/issues
|
||||
|
||||
* website - https://github.com/hyperhq/runv
|
||||
|
||||
* release methodology and mechanics
|
||||
The latest stable release for runV is [0.8.1](https://github.com/hyperhq/runv/releases/tag/v0.8.1), and there have been 8 releases.
|
||||
We have a 2~3 months scheduled release period, which depends on the changes in 5 main aspects:
|
||||
|
||||
1. CRI spec
|
||||
2. OCI runtime & image spec
|
||||
3. Notable change in Kubernetes `Node` or `containerd`
|
||||
4. Notable change in CNI spec
|
||||
5. Notable change related to hypervisor related library
|
||||
|
||||
The release tar file can be downloaded via: https://github.com/hyperhq/runv/releases
|
||||
|
||||
The latest stable release for hyperstart is [0.8.1](https://github.com/hyperhq/runv/releases/tag/v0.8.1), and there have been 10 releases.
|
||||
We also have a 2~3 months scheduled release period, which depends on the changes in 3 main aspects:
|
||||
|
||||
1. CRI requirement
|
||||
2. runV requirement
|
||||
3. Notable change related to hypervisor related library
|
||||
|
||||
* social media accounts
|
||||
@hyper_sh
|
||||
|
||||
* community size and any existing sponsorship
|
||||
runV:
|
||||
|
||||
* 1034 commits
|
||||
* 50 forks
|
||||
* 22 Contributors
|
||||
* 259 Stars
|
||||
* 8 releases
|
||||
* 300+ slack members
|
||||
|
||||
hyperstart:
|
||||
|
||||
* 694 commits
|
||||
* 44 forks
|
||||
* 23 Contributors
|
||||
* 81 Stars
|
||||
* 10 releases
|
||||
|
||||
Huawei contributed engineer time to `runV` and `hyperstart` to integrate them with containerd and Docker.
|
||||
|
||||
Kontron AG, a German embedded computer manufacture donated a cluster for `runV` maintainers to test `runV` + Kubernetes + OpenStack for NFV workloads.
|
||||
|
||||
Intel OTC contributed engineer time to improve and use `hyperstart`
|
||||
|
||||
|
|
Loading…
Reference in a new issue