Docker to donate containerd, its core container runtime, to CNCF
Female hand holding key house shaped keychain image via Shutterstock
Docker is ready to donate containerd, its core container runtime, to the Cloud Native Computing Foundation (CNCF). But why CNCF? Is it the right place for containerd? Let’s find out.
It seems that Docker founder Solomon Hykes has kept the promise he made in December 2016 —to donate containerd to a neutral foundation in early 2017—; a proposal was presented to the CNCF Technical Oversight Committee (TOC) for containerd to become a CNCF project.
CNCF is thrilled that Docker presented containerd and CoreOS presented rkt to our TOC today https://t.co/7GLLNVmfwK
— CNCF (@CloudNativeFdn) 15. März 2017
Hykes wrote in the blog post announcing the intention to donate containerd to the CNCF that the container runtime “is designed as an independent component that can be embedded in a higher level system, to provide core container capabilities.”
We believe that donating containerd to the CNCF will unlock a whole new phase of innovation and growth across the entire container ecosystem.
Patrick Chanezon, member of technical staff at Docker Inc., explained in a post published in December 2016 that this core container runtime “is a small but vital part of the platform. We started breaking out containerd from the rest of the engine in Docker 1.11, planning for this eventual release.” Chanezon emphasized that containerd has “just the APIs currently necessary to run a container. A GRPC API is called by the Docker Engine, which triggers an execution process. That spins up a supervisor and an executor which is charged with monitoring and running containers. The container is run (i.e. executed) by runC.”
— chanezon (@chanezon) February 23, 2017
The CNCF is the right place for containerd
Hykes explained that containerd is already deployed on millions of machines (mainly because it has been the heart of the Docker platform since April 2016 when it was included in Docker 1.11) and revealed that their wish is to “continue its development under the governance of an organization where a focus on containerization is front and center.”
The founder of Docker also claimed that “Docker with containerd is already a key foundation for Kubernetes” (the original project donated to the CNCF). Furthermore, Kubernetes 1.5 runs with Docker 1.10.3 to 1.12.3. Hykes added that Docker and key stakeholders from the Kubernetes project “believe that containerd 1.0 can be a great core container runtime for Kubernetes.”
Last but not least, containerd exposes an API using gRPC and exposes metrics in the Prometheus format (also a member of CNCF) so it goes without saying that it aligns perfectly with other CNCF projects (Kubernetes and Prometheus).
In the past few months, the containerd team has been implementing Phase 1 and Phase 2 of the containerd roadmap, Hykes wrote. Since the roadmap contains four phases, one could say that containerd is halfway there.
- Phase 1: go from a top down design for filling out this missing pieces of containerd and design of the API
- Phase 2: includes most of the design and development work for the execution and storage layers of containerd.
- Phase 3: includes getting support for the OCI Image spec built into containerd.
- Phase 4: involves graduating to version 1.0, and shifting the focus from features to maintenance.
containerd has company
Docker’s containerd is not the only project to be donated to the CNCF. According to a blog post by Brandon Philips, CTO at CoreOS, CoreOS and Docker made a combined proposal to add rkt and containerd as new projects for inclusion in the Cloud Native Computing Foundation (CNCF).
These proposals are the first step towards these new projects alongside other critical projects like gRPC, Kubernetes, Prometheus, and many others. By donating these projects to the CNCF we ensure that the container community will continue to thrive in a neutral home for collaboration.
The rkt project was introduced three years ago. It is available for most major Linux distributions and every rkt release builds self-contained rpm/deb packages that users can install, Philips said. Furthermore, “rkt has contributed indirectly to the creation of several important new APIs, specifications, and discussions in the container ecosystem. The container network plugin system used by Mesos, Kubernetes, rkt, and others called CNI comes directly from the rkt plugin system and has become a multi-organization effort.”
According to Philips, the new “arrangement” would have a few benefits, including the fact that the foundation is neutral and that rkt would receive additional help with community building and engagement.