Today rkt launched in the Cloud Native Computing Foundation (CNCF). It is a big day for the future of rkt, the pod-native container engine, and container execution in general, as it is now housed in a neutral and collaborative home, alongside containerd, also launched in CNCF today.
Earlier this month, we announced that CoreOS and Docker jointly donated rkt, the pod-native container engine, and containerd as new incubated projects within the CNCF. Today this is a reality, as both projects have been accepted into the CNCF. We look forward to working with the broader ecosystem and continuing rkt’s growth underneath the stewardship of the CNCF, as well as fostering interoperability with Kubernetes, OCI and containerd.
Rkt would not be where it is today without the support of our community. Since rkt’s launch in December of 2014, the project has grown to 180 contributors, 5,200 commits, 6,800 stars. The project reached its 1.0 in 2016, and is used across the industry. Packages of rkt are available for many popular Linux distributions including Arch, CentOS, CoreOS Container Linux, Debian, Fedora, Gentoo, NixOS, openSUSE, Ubuntu, and Void. rkt also plays a central role in how CoreOS Container Linux runs Kubernetes.
Yep +1 Rkt is quickly becoming the container of choice. https://t.co/VneT1L50Gg— David F. Flanders (@dfflanders) June 12, 2016
@swainrob rkt delivers a simple container runtime that you can build platforms like Kubernetes on top of. It's nice to have options.— Kelsey Hightower (@kelseyhightower) September 6, 2016
This is a big win for the community – ultimately users have the choice to use the container engine that is best fit for their needs, and a home for collaboration.
Below, we examine the details of rkt's acceptance into the CNCF in this cross-post on the CNCF blog.
A bit of background
Earlier this month, we announced that CoreOS and Docker made proposals to add rkt and containerd as new projects for inclusion in the Cloud Native Computing Foundation (CNCF). Today we are happy to celebrate that both projects have been formally proposed and accepted into the CNCF.
This means that with these projects now housed in the CNCF, we ensure that the container community will continue to thrive in a neutral home for collaboration. Just as CoreOS worked alongside Docker to develop the Open Container Initiative (OCI), we are excited to work alongside Docker again to push forward the conversation around container execution in cloud native environment.
It is a historical moment where CNCF has the opportunity to push progress on container execution for the future of the ecosystem, under a neutral and collaborative home. CoreOS is donating rkt to the CNCF at the same time Docker is donating containerd, and these two popular projects join the CNCF family alongside other critical projects like gRPC, Kubernetes, Prometheus, and others.
Working with the community and next steps
rkt developers already actively collaborate on container specifications in the OCI project, and we are happy to collaborate more on the implementation side by having rkt and containerd in the same foundation. Both projects are actively working to integrate with Kubernetes, the container cluster orchestration system, and their developers can work together to refine and solidify the shared API for how Kubernetes communicates with container runtimes. Having container engine developers work side-by-side on the testing and iteration of this API ensures a more robust solution beneficial for users in our communities.
The OCI project is hard at work on the standards side, and we expect we will be able to share the code in working with those image and runtime specifications. rkt and containerd both closely track OCI development and have developers involved in the specification process. Both projects feature early implementation support for the formats with the intention of being fully compliant once the critical 1.0 milestone is reached.
What can rkt users expect from this new announcement? All of the rkt maintainers will continue working on the project as usual. Even more, we can encourage new users, and maintainers, with the help of the CNCF, to contribute to and rely on rkt.
A big thank you to all the supporters of rkt over the years. We would also like to thank Brian Grant of Google for being the official sponsor of the proposal for rkt's donation into the CNCF.
What is rkt? A pod-native container engine
rkt, an open source project, is an application container engine developed for modern production cloud-native environments. It features a pod-native approach, a pluggable execution environment, and a well-defined surface area that makes it ideal for integration with other systems.
The core execution unit of rkt is the pod, a collection of one or more applications executing in a shared context (rkt's pods are synonymous with the concept in the Kubernetes orchestration system). rkt allows users to apply different configurations (like isolation parameters) at both pod-level and at the more granular per-application level. rkt's architecture means that each pod executes directly in the classic Unix process model (i.e. there is no central daemon), in a self-contained, isolated environment. rkt implements a modern, open, standard container format, the App Container (appc) spec, but can also execute other container images, like those created with Docker.
Since its introduction by CoreOS in December 2014, the rkt project has greatly matured and is widely used. It is available for most major Linux distributions and every rkt release builds self-contained rpm/deb packages that users can install. These packages are also available as part of the Kubernetes repository to enable testing of the rkt + Kubernetes integration. rkt also plays a central role in how Google Container Image and CoreOS Container Linux run Kubernetes.
How were rkt and containerd contributed to the CNCF?
On March 15, 2017 at the CNCF TOC meeting, CoreOS and Docker made a combined proposal to add rkt and containerd as new projects for inclusion in the CNCF. During the meeting, we as rkt co-founders, proposed rkt, and Michael Crosby, a containerd project lead and co-founder, proposed containerd. These proposals were the first step, and then the project went through a formal proposal to the TOC, and finally were called to a formal vote last week. Today these projects have been accepted to the organization.
What does this mean for rkt and other projects in the CNCF?
As part of the CNCF, we believe rkt will continue to advance and grow. The donation will ensure that there is ongoing shared ecosystem collaboration around the various projects, where interoperability is key. Finding a well-respected neutral home at the CNCF provides benefits to the entire community around fostering interoperability with OCI, Kubernetes, and containerd. There’s also an exciting number of opportunities for cross-collaboration with other projects like gRPC and Prometheus.
Container execution is a core part of cloud-native. By housing rkt under the CNCF, a neutral, respected home for projects, we see benefits including help with community building and engagement, and overall, fostering of interoperability with other cloud native projects like Kubernetes, OCI, and containerd.
How should we get involved?
The community is encouraged to keep using, or begin using rkt, and you can get involved on rkt page on GitHub or on the mailing list. Note that this repo will be moved into a new vendor-neutral GitHub organisation over the coming weeks.