SlideShare a Scribd company logo
containerd update
FOSDEM 2019 - Containers Devroom
Sunday, 3 February 2019
Phil Estes (IBM Cloud, Distinguished Engineer)
© 2018 Cloud Native Computing Foundation2
Containerd Overview
• Project Goal: Provide a “{boring} core container runtime” for the industry,
allowing Docker and Kubernetes to both have a strong base on which to
innovate at higher layers
‘...but many platform builders and operators are looking for “boring
infrastructure”: a basic component that provides the robust primitives
for running containers on their system, bundled in a stable interface,
and nothing else.’ - Docker Blog, containerd announcement
KEY TENETS
- Reliability/Stability - Clean/usable client API - Strong Compatibility Guarantees - Performance
© 2018 Cloud Native Computing Foundation3
Containerd Community
• 3,418 GH stars (up 1000+)
• 165 contributors (up 50+)
• 12 maintainers, representing 8
organizations/vendors
• 6 reviewers, representing 5
organizations/vendors
• 720 Slack channel members
• 3,441 Twitter followers
(@containerd)
Joined
CNCF
© 2018 Cloud Native Computing Foundation4
Containerd Usage
• Broad Usage: containerd receivs significant production usage as a core
component of every release of Docker engine since early 2016. In 2018
we now see containerd used in two public cloud managed Kubernetes
offerings (GKE and IBM Cloud IKS), and a long list of additional adopters
found in the TOC graduation proposal PR
Rio project
© 2018 Cloud Native Computing Foundation5
https://github.com/cncf/toc/pull/165
History of containerd
Early 2017Early 2016
Late 2016
containerd 0.2
- Integrated in Docker 1.11
- Simple runtime manager
on top of runc
Container Runtime Interface (CRI)
- Containerd scope increased to match
needs of Kubernetes runtime
containerd to CNCF
- Goal of being a stable runtime
with OCI image support
- CRI implementation started
- Plugin architecture built
History of containerd
Late 2018Late 2017
Early 2018
containerd 1.0
- Released in December ‘17
- API stabilized
- CRI implementation goes
alpha in November
Containerd 1.1
- Released in April 2018
- CRI implementation goes BETA
- CRI added to containerd as
built-in plugin
containerd 1.2
- Released in October 2018
- Runtime shim API stabilized
- Focus on stability and
extensibility
Created in December 2015
> 55 releases (v1.2.2 latest release)
> 165 contributors
> Docker contributed to CNCF in 2017
> Significant and growing list of adopters
● Several major clouds adopting containerd as the
Kubernetes CRI runtime
● Security audit performed in 4Q2018; extremely positive
report of code quality and security posture
● Containerd presented to CNCF TOC for graduation in
4Q2018; all graduation criteria met; waiting on TOC vote
● Integration with and growth in broader array of use cases
(HPC, AWS Firecracker VMM) proving out usefulness and
capability of pluggable design and clean API
8
Current Status
Architecture Overview
Smart Client Design
Smart client
- Higher level interface provided by client library
- Responsible for push and pull
- Direct access to low level resources (e.g. snapshots)
- Creates container OCI configuration
gRPC API
gRPC API
- Low level access to components
- Mirrors internal component interfaces
- Snapshots, Content, Containers, Task, Events, etc
Metrics
Metric API
- Metrics exposed through Prometheus API
- Exposes metrics for containerd process AND container
level metrics
- Enabled in containerd config `/etc/containerd/config.toml`
[metrics]
address = "localhost:9090"
Kubernetes Support
Kubernetes Runtime Support
- CRI GRPC API exposed from containerd
- Kubelet can be configured to use containerd as runtime
Plugins
Plugins (CRI)
CRI Plugin
- Built-in by default
- GRPC service plugin
Plugins (Snapshotter)
Snapshotter Plugin
- Built-in (overlay, btrfs, aufs)
- Supports custom plugins over GRPC in 1.2
Plugins (Runtime)
Runtime plugin
- Support for custom shims in 1.2
- Binary which implements runtime API
- Useful for VM runtimes
- Support for OCI runtimes
- Install through `ctr install`
More Extensibility
- Smart client model (Golang)
- Resolver interface allows custom pull flow
- Direct access to containerd interfaces
- Server plugin architecture
- All services are self registered
- Custom gRPC services
- CRI is a gRPC plugin
- Direct access to internal services
containerd Adoption
▧ Kelsey Hightower’s “Kubernetes the Hard Way”
deploys containerd as the kubelet runtime
Maturity and Integrations
> CRI-containerd
- A gRPC plugin, calls into containerd services
> Docker
- Use containerd’s client
- Using runtime since 17.12+
- Using image backend in 2019
> Moby Buildkit
- Using containerd’s client
- Uses containerd interfaces directly for
standalone mode
> Alibaba Pouch
- Uses containerd 1.0.x as container runtime,
integrated with image and runtime
> Other Examples
- CloudFoundry Garden runtime
- Kata containers; AWS Firecracker
- Michael Crosby’s “boss” project
- Evan Hazlett’s “stellar” project
CNCF
Maturity/Status
> Security Review
- Completed security review thanks
to CNCF funding in Dec. ‘18
- Report is published online
> CNCF Project Graduation
- TOC proposal created Oct ‘18
- https://github.com/cncf/toc/pull/165
- Presented to TOC Nov ‘18
- Expect graduation vote early 2019
Thank you!
@estesp
github.com/estesp
estesp@gmail.com
https://integratedcode.us
Slack/IRC: estesp

More Related Content

PDF
Extended and embedding: containerd update & project use cases
PDF
Enabling Security via Container Runtimes
PDF
Docker London Meetup: Docker Engine Evolution
PDF
Securing Containerized Applications: A Primer
PDF
Let's Try Every CRI Runtime Available for Kubernetes
PDF
Securing Containerized Applications: A Primer
PDF
Cloud Native TLV Meetup: Securing Containerized Applications Primer
PDF
CraftConf 2019: CRI Runtimes Deep Dive: Who Is Running My Pod?
Extended and embedding: containerd update & project use cases
Enabling Security via Container Runtimes
Docker London Meetup: Docker Engine Evolution
Securing Containerized Applications: A Primer
Let's Try Every CRI Runtime Available for Kubernetes
Securing Containerized Applications: A Primer
Cloud Native TLV Meetup: Securing Containerized Applications Primer
CraftConf 2019: CRI Runtimes Deep Dive: Who Is Running My Pod?

What's hot (20)

PDF
Kubernetes basics and hands on exercise
PDF
Looking Under The Hood: containerD
PDF
Kubernetes 架構與虛擬化之差異
PDF
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
PPTX
Kubernetes CRI containerd integration by Lantao Liu (Google)
PPTX
Introduction kubernetes 2017_12_24
PDF
Rook on aws kubernetes meetup munchen 22_feb_18
PDF
Introduction to kubernetes
PDF
What's Running My Containers? A review of runtimes and standards.
PDF
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
PDF
Embedding Containerd For Fun and Profit
PPTX
State of Builder and Buildkit by Tonis Tiigi (Docker)
PDF
Kubernetes Meetup - Seattle 2017-06-01
PDF
Docker Engine Evolution: From Monolith to Discrete Components
PPTX
Kubernetes 101
PDF
containerd and CRI
PDF
Secure your K8s cluster from multi-layers
PDF
CRI, OCI, and CRI-O
PDF
The relationship between Docker, Kubernetes and CRI
PDF
Platform Orchestration with Kubernetes and Docker
Kubernetes basics and hands on exercise
Looking Under The Hood: containerD
Kubernetes 架構與虛擬化之差異
Kubernetes: An Introduction to the Open Source Container Orchestration Platform
Kubernetes CRI containerd integration by Lantao Liu (Google)
Introduction kubernetes 2017_12_24
Rook on aws kubernetes meetup munchen 22_feb_18
Introduction to kubernetes
What's Running My Containers? A review of runtimes and standards.
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
Embedding Containerd For Fun and Profit
State of Builder and Buildkit by Tonis Tiigi (Docker)
Kubernetes Meetup - Seattle 2017-06-01
Docker Engine Evolution: From Monolith to Discrete Components
Kubernetes 101
containerd and CRI
Secure your K8s cluster from multi-layers
CRI, OCI, and CRI-O
The relationship between Docker, Kubernetes and CRI
Platform Orchestration with Kubernetes and Docker
Ad

Similar to FOSDEM 2019: A containerd Project Update (20)

PPTX
Moby KubeCon 2017
PPTX
CRI-containerd
PPTX
Fabio rapposelli pks-vmug
PDF
K8sfor dev parisoss-summit-microsoft-5-decembre-short
PPTX
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
PDF
Red Hat and kubernetes: awesome stuff coming your way
PDF
The App Developer's Kubernetes Toolbox
PPTX
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
PPTX
Moby Open Source Summit North America 2017
PDF
Automate NGINX with DevOps Tools
PDF
DCEU 18: State of the Docker Engine
PDF
Introduction to kubernetes
PPTX
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
PDF
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
PDF
Introduction to Kubernetes Workshop
PPTX
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
PDF
SpringOne Platform 2018 Recap in 5 minutes
PPTX
Docker containerd Kubernetes sig node
PDF
Container security within Cisco Container Platform
PDF
Flux is incubating + the road ahead
Moby KubeCon 2017
CRI-containerd
Fabio rapposelli pks-vmug
K8sfor dev parisoss-summit-microsoft-5-decembre-short
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Red Hat and kubernetes: awesome stuff coming your way
The App Developer's Kubernetes Toolbox
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
Moby Open Source Summit North America 2017
Automate NGINX with DevOps Tools
DCEU 18: State of the Docker Engine
Introduction to kubernetes
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Introduction to Kubernetes Workshop
Kata Container - The Security of VM and The Speed of Container | Yuntong Jin
SpringOne Platform 2018 Recap in 5 minutes
Docker containerd Kubernetes sig node
Container security within Cisco Container Platform
Flux is incubating + the road ahead
Ad

More from Phil Estes (18)

PDF
JAX Con 2019: Containers. Microservices. Cloud. Open Source. Fantasy or Reali...
PDF
Giving Back to Upstream | DockerCon 2019
PDF
CRI Runtimes Deep-Dive: Who's Running My Pod!?
PDF
Docker Athens: Docker Engine Evolution & Containerd Use Cases
PDF
It's 2018. Are My Containers Secure Yet!?
PDF
An Open Source Story: Open Containers & Open Communities
PDF
Containerd Project Update: FOSDEM 2018
PDF
Bucketbench: Benchmarking Container Runtime Performance
PDF
Containerd Internals: Building a Core Container Runtime
PDF
Container Runtimes: Comparing and Contrasting Today's Engines
PDF
AtlanTEC 2017: Containers! Why Docker, Why NOW?
PDF
Quantifying Container Runtime Performance: OSCON 2017 Open Container Day
PDF
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
PDF
Containerize, PaaS, or Go Serverless!?
PDF
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
PDF
Container Security: How We Got Here and Where We're Going
PDF
Devoxx 2016: A Developer's Guide to OCI and runC
PDF
Live Container Migration: OpenStack Summit Barcelona 2016
JAX Con 2019: Containers. Microservices. Cloud. Open Source. Fantasy or Reali...
Giving Back to Upstream | DockerCon 2019
CRI Runtimes Deep-Dive: Who's Running My Pod!?
Docker Athens: Docker Engine Evolution & Containerd Use Cases
It's 2018. Are My Containers Secure Yet!?
An Open Source Story: Open Containers & Open Communities
Containerd Project Update: FOSDEM 2018
Bucketbench: Benchmarking Container Runtime Performance
Containerd Internals: Building a Core Container Runtime
Container Runtimes: Comparing and Contrasting Today's Engines
AtlanTEC 2017: Containers! Why Docker, Why NOW?
Quantifying Container Runtime Performance: OSCON 2017 Open Container Day
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
Containerize, PaaS, or Go Serverless!?
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Container Security: How We Got Here and Where We're Going
Devoxx 2016: A Developer's Guide to OCI and runC
Live Container Migration: OpenStack Summit Barcelona 2016

Recently uploaded (20)

PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
medical staffing services at VALiNTRY
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
history of c programming in notes for students .pptx
PDF
top salesforce developer skills in 2025.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
PTS Company Brochure 2025 (1).pdf.......
PPT
Introduction Database Management System for Course Database
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
System and Network Administration Chapter 2
Navsoft: AI-Powered Business Solutions & Custom Software Development
Online Work Permit System for Fast Permit Processing
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Odoo POS Development Services by CandidRoot Solutions
medical staffing services at VALiNTRY
ISO 45001 Occupational Health and Safety Management System
history of c programming in notes for students .pptx
top salesforce developer skills in 2025.pdf
Softaken Excel to vCard Converter Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Upgrade and Innovation Strategies for SAP ERP Customers
PTS Company Brochure 2025 (1).pdf.......
Introduction Database Management System for Course Database
Design an Analysis of Algorithms I-SECS-1021-03
System and Network Administration Chapter 2

FOSDEM 2019: A containerd Project Update

  • 1. containerd update FOSDEM 2019 - Containers Devroom Sunday, 3 February 2019 Phil Estes (IBM Cloud, Distinguished Engineer)
  • 2. © 2018 Cloud Native Computing Foundation2 Containerd Overview • Project Goal: Provide a “{boring} core container runtime” for the industry, allowing Docker and Kubernetes to both have a strong base on which to innovate at higher layers ‘...but many platform builders and operators are looking for “boring infrastructure”: a basic component that provides the robust primitives for running containers on their system, bundled in a stable interface, and nothing else.’ - Docker Blog, containerd announcement KEY TENETS - Reliability/Stability - Clean/usable client API - Strong Compatibility Guarantees - Performance
  • 3. © 2018 Cloud Native Computing Foundation3 Containerd Community • 3,418 GH stars (up 1000+) • 165 contributors (up 50+) • 12 maintainers, representing 8 organizations/vendors • 6 reviewers, representing 5 organizations/vendors • 720 Slack channel members • 3,441 Twitter followers (@containerd) Joined CNCF
  • 4. © 2018 Cloud Native Computing Foundation4 Containerd Usage • Broad Usage: containerd receivs significant production usage as a core component of every release of Docker engine since early 2016. In 2018 we now see containerd used in two public cloud managed Kubernetes offerings (GKE and IBM Cloud IKS), and a long list of additional adopters found in the TOC graduation proposal PR Rio project
  • 5. © 2018 Cloud Native Computing Foundation5 https://github.com/cncf/toc/pull/165
  • 6. History of containerd Early 2017Early 2016 Late 2016 containerd 0.2 - Integrated in Docker 1.11 - Simple runtime manager on top of runc Container Runtime Interface (CRI) - Containerd scope increased to match needs of Kubernetes runtime containerd to CNCF - Goal of being a stable runtime with OCI image support - CRI implementation started - Plugin architecture built
  • 7. History of containerd Late 2018Late 2017 Early 2018 containerd 1.0 - Released in December ‘17 - API stabilized - CRI implementation goes alpha in November Containerd 1.1 - Released in April 2018 - CRI implementation goes BETA - CRI added to containerd as built-in plugin containerd 1.2 - Released in October 2018 - Runtime shim API stabilized - Focus on stability and extensibility
  • 8. Created in December 2015 > 55 releases (v1.2.2 latest release) > 165 contributors > Docker contributed to CNCF in 2017 > Significant and growing list of adopters ● Several major clouds adopting containerd as the Kubernetes CRI runtime ● Security audit performed in 4Q2018; extremely positive report of code quality and security posture ● Containerd presented to CNCF TOC for graduation in 4Q2018; all graduation criteria met; waiting on TOC vote ● Integration with and growth in broader array of use cases (HPC, AWS Firecracker VMM) proving out usefulness and capability of pluggable design and clean API 8 Current Status
  • 10. Smart Client Design Smart client - Higher level interface provided by client library - Responsible for push and pull - Direct access to low level resources (e.g. snapshots) - Creates container OCI configuration
  • 11. gRPC API gRPC API - Low level access to components - Mirrors internal component interfaces - Snapshots, Content, Containers, Task, Events, etc
  • 12. Metrics Metric API - Metrics exposed through Prometheus API - Exposes metrics for containerd process AND container level metrics - Enabled in containerd config `/etc/containerd/config.toml` [metrics] address = "localhost:9090"
  • 13. Kubernetes Support Kubernetes Runtime Support - CRI GRPC API exposed from containerd - Kubelet can be configured to use containerd as runtime
  • 15. Plugins (CRI) CRI Plugin - Built-in by default - GRPC service plugin
  • 16. Plugins (Snapshotter) Snapshotter Plugin - Built-in (overlay, btrfs, aufs) - Supports custom plugins over GRPC in 1.2
  • 17. Plugins (Runtime) Runtime plugin - Support for custom shims in 1.2 - Binary which implements runtime API - Useful for VM runtimes - Support for OCI runtimes - Install through `ctr install`
  • 18. More Extensibility - Smart client model (Golang) - Resolver interface allows custom pull flow - Direct access to containerd interfaces - Server plugin architecture - All services are self registered - Custom gRPC services - CRI is a gRPC plugin - Direct access to internal services
  • 19. containerd Adoption ▧ Kelsey Hightower’s “Kubernetes the Hard Way” deploys containerd as the kubelet runtime
  • 20. Maturity and Integrations > CRI-containerd - A gRPC plugin, calls into containerd services > Docker - Use containerd’s client - Using runtime since 17.12+ - Using image backend in 2019 > Moby Buildkit - Using containerd’s client - Uses containerd interfaces directly for standalone mode > Alibaba Pouch - Uses containerd 1.0.x as container runtime, integrated with image and runtime > Other Examples - CloudFoundry Garden runtime - Kata containers; AWS Firecracker - Michael Crosby’s “boss” project - Evan Hazlett’s “stellar” project CNCF Maturity/Status > Security Review - Completed security review thanks to CNCF funding in Dec. ‘18 - Report is published online > CNCF Project Graduation - TOC proposal created Oct ‘18 - https://github.com/cncf/toc/pull/165 - Presented to TOC Nov ‘18 - Expect graduation vote early 2019