Docker containerd Kubernetes sig node
- 2. 2
Docker Extracts and Donates containerd to
Accelerate Innovation Across the Ecosystem
● Open source Docker’s core container runtime component into community project
○ Expansion of original containerd adding more Docker Engine functionality
○ Provides all the core primitives to manage containers on Linux and Windows hosts
○ Will use the OCI standard and be fully OCI compliant when 1.0 available
● Docker & other leading container systems to use containerd as core runtime
component
○ containerd used in millions of production Docker Engines since April 2016 in Docker 1.11
○ Provide a “boring” infrastructure component
● Built by Docker with input from largest cloud providers for project success
● Commitment to donate to a neutral, open foundation in Q1 2017
- 3. Docker Engine = Container Platform for
Complete Distributed App Lifecycle
3
Docker Differentiators
SwarmKit
Containerd
InfraKit
Container Orchestration
Core Container Runtime
Infrastructure
Docker
API
Docker
CLI
Docker
Compose
Docker
Build
Auth Docker
Content
Trust
Docker
Distribution
Plugins
Storage
Networking
- 5. containerd:
What is a Core Container Runtime?
5
Component that provides
core primitives to manage
containers on a host
Currently 0.2.4 with
target for 1.0 feature set
(including OCI in Q2
2017)
Features
Container execution
and supervision
Image distribution
Network Interfaces & Mgmt
Local storage
Native plumbing level API
“Boring” infrastructure
component for container
infrastructure providers
Receiving upstream
patches from
infrastructure operators
- 8. Benefit to Infrastructure Operators and Providers
11
“Boring infrastructure” for the container ecosystem
• Limited feature scope that stabilizes over time
• A commitment to a stable API
• A community-defined release process which emphasizes quality over new features
• A reasonable LTS policy comparable to infrastructure projects of similar maturity
Collaborative community driven project run in the open
Designed for extensibility to work with all leading container
orchestrators
Branded separately from Docker, so as not to cause
undue benefit to a single commercial entity
- 9. Benefit to End Users
12
Greater collaboration
and component re-
use among vendors
to avoid
fragmentation
Allows for greater
vendor innovation at
higher levels of the
stack
Multi-cloud
portability
Allows Docker
platform to innovate
at its accelerated
pace
- 15. 18
Containerd Livestream Recap https://blog.docker.com/2017/01/containerd-livestream-recap/
Containerd Summit at Docker office 02/23/2017
Repo open for comments / collaboration / contribution
https://github.com/docker/containerd
Sign up for
February summit
More project details:
Architecture: https://github.com/docker/containerd/blob/master/design/architecture.md
API: https://github.com/docker/containerd/tree/master/api/
Roadmap: https://github.com/docker/containerd/blob/master/ROADMAP.md
containerd Project Information
Editor's Notes
- The part that runs the container. Part not previously available as a separate component. Now spun out.
Runc even smaller component/reference implementation of a standard. OCI.
Engine and components...
- Expansion of the original project. Taking out more of the original Engine, embracing standards and donate to the community
Addresses needs of infrastructure providers AND end users
Upstream containerD: Stable, standards-based container core with open governance
Provides all the primitives (core) to manage containers on Linux and Windows host
Fully wrappable by downstream systems
Downstream Docker is a complete container platform: addressing user need for innovation
Full distributed application lifecycle
- OCI interface….dotted line/containerD interface above….
- OCI interface….dotted line/containerD interface above….
- Based on the Docker Engine’s Core Runtime to benefit from its maturity and existing contributors.
Focused on providing “boring infrastructure”, in other words:
A limited feature scope. The runtime will be strictly dedicated to managing a single node, and must cover the functionalities required by the major integrators of the Docker Engine at the time of writing (including but not limited to SwarmKit, Kubernetes, ECS, Mesos).
A feature scope which stabilizes over time. In particular, the set of technical areas it covers (container execution, snapshot management, image distribution, networking) is expected to remain constant.
A commitment to a stable API.
A community-defined release process which emphasizes quality over new features.
A reasonable LTS policy comparable to infrastructure projects of comparable maturity.
Designed for higher layers to wrap and extend.
Run as an open project:
Implement open standards (specifically OCI Runtime and Image specifications).
A fair, transparent, and well-documented decision-making process.
IP and trademark managed and protected by a neutral foundation.
No built-in dependency on a specific vendor’s offering or infrastructure (e.g., no built-in link to Docker Hub or Docker Store).
Branded separately from Docker, so as not to cause undue benefit to a single commercial entity
Delivered to the community in a reasonable manner:
A clear announcement by the end of 2016 with a complete roadmap.
An active development branch in the open, and open to contributions, by the end of 2016.
A first LTS version shipped no later than Q2-2017. The requirement for a short-term relief for current users of the Docker Engine is acknowledged, but will not be addressed by this project: a separate proposal is exploring changes to the Docker release cycle.
- More component re-use and collaboration from their vendors
More features with vendors have time innnovate on top of the component
- OCI describes the words in your json file
Json file asks runC Takes a root file system and creates an isolated process
Runtime executor -- runc
- OCI describes the words in your json file
Json file asks runC Takes a root file system and creates an isolated process
Runtime executor -- runc