SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Copyright(c)2021 NTT Corp. All Rights Reserved
containerd
Container Runtime Meetup #3
2021/1/28
Copyright(c)2021 NTT Corp. All Rights Reserved
GitHub:@ktock / Twitter:@TokunagaKohei
containerd Stargz Snapshotter
Copyright(c)2021 NTT Corp. All Rights Reserved
. 4
1
Copyright(c)2021 NTT Corp. All Rights Reserved
. 4
1
Copyright(c)2021 NTT Corp. All Rights Reserved
containerd
l CNCF graduated 5
l Docker Docker
l Kubernetes
https://github.com/containerd/containerd
l GKE AWS Fargate AKS(preview) IKS
l Docker/moby BuildKit k3c PouchContainer
l K8s k3s kind minikube kubespray microk8s
l FaaS faasd
https://sysdig.com/blog/sysdig-
2021-container-security-usage-report/
Copyright(c)2021 NTT Corp. All Rights Reserved
containerd
2017 2018 2019 2020 2021
12 Docker containerd [1]
5 containerd CNCF [2]
v1.0.0 v1.1.0 v1.2.0 v1.3.0 v1.4.0
(12 ) (4 ) (10 ) (9 ) (8 )
2 containerd CNCF graduation[3]
7 AKS containerd (preview) [7]
8 IKS containerd [4]
9 GKE containerd GA[5]
4 AWS Fargate containerd [6]
v1.5.0-beta.0
(1 )
2016
[1] https://www.docker.com/docker-news-and-press/docker-extracts-and-donates-containerd-its-core-container-runtime-accelerate ; [2] https://www.docker.com/blog/containerd-joins-cncf/ ; [3]
https://www.cncf.io/announcements/2019/02/28/cncf-announces-containerd-graduation/ ; [4] https://cloud.ibm.com/docs/containers?topic=containers-changelog_archive#1112_1513 ; [5] https://cloud.google.com/kubernetes-
engine/docs/release-notes-archive#september_5_2019 ; [6] https://aws.amazon.com/jp/blogs/containers/aws-fargate-launches-platform-version-1-4/ ; [7] https://azure.microsoft.com/ja-jp/updates/azure-kubernetes-service-aks-support-for-
containerd-runtime-is-in-preview/
Copyright(c)2021 NTT Corp. All Rights Reserved
3 containerd
OCI
kubelet
CRI
OCI
containerd API
dockerd
OCI
containerd API
CRI Docker
Copyright(c)2021 NTT Corp. All Rights Reserved
1: Kubernetes CRI
kubectl apply
Pod
CRI
OCI
runc, gVisor, Kata Containers
OCI
apiserver
kubelet
CRI
pull/push
Copyright(c)2021 NTT Corp. All Rights Reserved
2: Docker
docker run
containerd
runc, gVisor, Kata Containers
OCI
containerd API
dockerd
pull/push
Docker API
Copyright(c)2021 NTT Corp. All Rights Reserved
3:
runc, gVisor, Kata Containers
OCI
l Docker
l containerd
l containerd containerd
l containerd
containerd API
BuildKit faasd
Pouch
Container
nerdctl
Copyright(c)2021 NTT Corp. All Rights Reserved
. 4
1
Copyright(c)2021 NTT Corp. All Rights Reserved
OS
plugins
containerd
l
l
lDocker BuildKit
l unix socket
containerd API CRI
• /run/containred/containerd.sock
l OCI
• OCI Firecracker
l containerd
container image tasks
namespace
leases version
introspection
events diff
Server
runtimes
) () 2
CRI
Client
containerd
API
Kubelet
4 .1
Copyright(c)2021 NTT Corp. All Rights Reserved
OS
container image tasks
namespace
leases version
introspection
events diff
containerd API
l Smart Client
l containerd API
l
l pull/push
l
l OCI config
l
Go
containerd
container image …
namespace
leases content
snapshots
events tasks
OCI spec
Server
plugins runtimes
API
Copyright(c)2021 NTT Corp. All Rights Reserved
OS
Container
ctr: https://github.com/containerd/containerd
l containerd contianerd
CLI
l containerd API
nerdctl: https://github.com/AkihiroSuda/nerdctl
l Docker containerd CLI by Akihiro Suda, NTT
l Docker
l Lazy pulling containerd
containerd
containerd
l Docker BuildKit faasd Pouch Container
container image tasks
namespace
leases version
introspection
events diff
Server
plugins runtimes
ctr, nerdctl, Docker, etc
containerd
API
Client lib
crictl: https://github.com/kubernetes-sigs/cri-tools
l Kubernetes sig-node CRI
CLI containerd API
l Server CRI
Copyright(c)2021 NTT Corp. All Rights Reserved
containerd
l
•
l unix socket API
l /run/containerd/containerd.sock
l
• API Go plugin
•
Ø containerd
container image tasks
namespace
leases version
snapshots
CRI tasks
container image tasks
namespace
leases version
introspection
events diff
OCI spec
Client
OS
plugins
shim
OCI
Copyright(c)2021 NTT Corp. All Rights Reserved
containerd
container image …
namespace
leases content
snapshots
CRI tasks
Metadata store
OS
l
• API
l persistent
metadata store (bbolt;
https://github.com/etcd-io/bbolt)
l CRI
•
Ø
• Pod
CNI
shim
OCI
CRI
Copyright(c)2021 NTT Corp. All Rights Reserved
OS
containerd
Content store
l pull
l
Snapshotter
l
“snapshot”
l snapshot rootfs
l snapshotter
Overlayfs btrfs aufs FUSE…
Runtime shim OCI
l V2 shim
container image …
namespace
leases content
snapshots
CRI tasks
C
o
n
t
e
n
t
s
t
o
r
e
S
n
a
p
s
h
o
t
t
e
r
R
u
n
t
i
m
e
Content store snapshotter containerd
Docker Graph Driver
Copyright(c)2021 NTT Corp. All Rights Reserved
OS
containerd
containerd ”tightly scoped”
l unix socket
gRPC API containerd
l Go plugin
l containerd API
l
container image …
namespace
leases content
snapshots
CRI tasks
shim
OCI
l Proxy content store
IPFS
l Proxy snapshotter rootfs
lazy pulling
l Stream processor
l V2 shim OCI
Kata
s
h
i
m
Copyright(c)2021 NTT Corp. All Rights Reserved
containerd
firecracker-containerd https://github.com/firecracker-microvm/firecracker-containerd
l AWS Firecracker microVM containerd
l Snapshotter v2 runtime microVM API control API
Stargz Snapshotter https://github.com/containerd/stargz-snapshotter
l containerd non-core subproject
l eStargz lazy pulling snapshotter ”remote” snapshotter
imgcrypt https://github.com/containerd/imgcrypt
l containerd non-core subproject
l stream processor
OCI runtime V2 runtime
l Kata Containers
Copyright(c)2021 NTT Corp. All Rights Reserved
. 4
1
Copyright(c)2021 NTT Corp. All Rights Reserved
containerd 1.4.x
Lazy pulling: https://github.com/containerd/containerd/pull/3793
l pull
l Stargz Snapshotter https://github.com/containerd/stargz-snapshotter proxy snapshotter
OCI eStargz lazy pull
0 5 10 15 20 25 30 35 40 45
estargz
estargz-noopt
legacy
Start up time of python:3.7 (print “hello”)
pull create run
Host: EC2 Oregon (m5.2xlarge, Ubuntu 20.04)
Registry: GitHub Container Registry (ghcr.io)
Commit 7f45f74
(See detailed info in the later slides)
[sec]
Cgroups v2 : https://github.com/containerd/containerd/issues/3726
l Fedora (> 31) cgroup v2 containerd
l cgroup rootless docker
--pids-limit Docker 20.10
SELinux MCS (CRI): https://github.com/containerd/cri/pull/1487
l CRI SELinux MCS Multi Category Security
Pod
l Pod Pod
Copyright(c)2021 NTT Corp. All Rights Reserved
Stargz Snapshotter lazy pulling
l containerd non-core
l OCI eStargz lazy pulling proxy snapshotter
• pull
Kubernetes
l Prefetch content verification
l Kaniko, go-containerregistry, ko, nerdctl eStargz
Stargz
Snapshotter
rootfs FUSE
Lazy
pull
eStargz
pull
https://github.com/containerd/stargz-snapshotter
https://www.slideshare.net/KoheiTokunaga/stargz-snapshotter-pullcontainerd-238429575
2 ” Stargz Snapshotter: pull containerd ”. CNDT2020
Copyright(c)2021 NTT Corp. All Rights Reserved
containerd
l ctr containerd containerd
l nerdctl https://github.com/AkihiroSuda/nerdctl Docker
NRI(Node Resource Interface) (1.5 ): https://github.com/containerd/nri
l CNI
l CNI NW NRI cgroup namespace path
CPU pinning
Sandbox API: https://github.com/containerd/containerd/issues/4131
l containerd API Pod
Overlayfs volatile option: https://github.com/containerd/containerd/pull/4785
l Overlayfs volatile option (Linux 5.10) upper dir sync
Higher level API: CRI v2 embedded kubelet build
l containerd API
Copyright(c)2021 NTT Corp. All Rights Reserved
plugins
shim
OCI
C
o
n
t
e
n
t
s
t
o
r
e
S
n
a
p
s
h
o
t
t
e
r
R
u
n
t
i
m
e
container image tasks
namespac
e leases version
snapshots
CRI tasks
container image …
namespac
e leases content
snapshots
events tasks
OCI spec
API
Metadata store
Contained
l Kubernetes CRI
l Docker
l
containerd
l
l smart client
l
containerd
l Lazy pulling cgroup v2
l
(
)

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Rootlessコンテナ
RootlessコンテナRootlessコンテナ
Rootlessコンテナ
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
P2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctlP2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctl
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
 
インフラCICDの勘所
インフラCICDの勘所インフラCICDの勘所
インフラCICDの勘所
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
Dockerセキュリティ: 今すぐ役に立つテクニックから,次世代技術まで
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 

Ähnlich wie containerdの概要と最近の機能

Ähnlich wie containerdの概要と最近の機能 (20)

Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
 
BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
The overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz SnapshotterThe overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_
 
Flutter Vikings 2022 - Full Stack Dart
Flutter Vikings 2022  - Full Stack DartFlutter Vikings 2022  - Full Stack Dart
Flutter Vikings 2022 - Full Stack Dart
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
 
Comparing Next-Generation Container Image Building Tools
 Comparing Next-Generation Container Image Building Tools Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building Tools
 
Kubernetes Basis: Pods, Deployments, and Services
Kubernetes Basis: Pods, Deployments, and ServicesKubernetes Basis: Pods, Deployments, and Services
Kubernetes Basis: Pods, Deployments, and Services
 
Docker Athens: Docker Engine Evolution & Containerd Use Cases
Docker Athens: Docker Engine Evolution & Containerd Use CasesDocker Athens: Docker Engine Evolution & Containerd Use Cases
Docker Athens: Docker Engine Evolution & Containerd Use Cases
 
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
Whose Job Is It Anyway? Kubernetes, CRI, & Container RuntimesWhose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
Whose Job Is It Anyway? Kubernetes, CRI, & Container Runtimes
 
Being a Moby maintainer
Being a Moby maintainerBeing a Moby maintainer
Being a Moby maintainer
 
LinuxKit Deep Dive
LinuxKit Deep DiveLinuxKit Deep Dive
LinuxKit Deep Dive
 
Managing Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayManaging Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native Way
 
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019Docker Timisoara: Dockercon19 recap slides, 23 may 2019
Docker Timisoara: Dockercon19 recap slides, 23 may 2019
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)
 
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
 
Shifter singularity - june 7, 2018 - bw symposium
Shifter  singularity - june 7, 2018 - bw symposiumShifter  singularity - june 7, 2018 - bw symposium
Shifter singularity - june 7, 2018 - bw symposium
 
BBL Premiers pas avec Docker
BBL Premiers pas avec DockerBBL Premiers pas avec Docker
BBL Premiers pas avec Docker
 
CRI-containerd
CRI-containerdCRI-containerd
CRI-containerd
 

Mehr von Kohei Tokunaga

Mehr von Kohei Tokunaga (8)

Faster Container Image Distribution on a Variety of Tools with Lazy Pulling
Faster Container Image Distribution on a Variety of Tools with Lazy PullingFaster Container Image Distribution on a Variety of Tools with Lazy Pulling
Faster Container Image Distribution on a Variety of Tools with Lazy Pulling
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
 
Starting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of ImagesStarting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of Images
 
Startup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image DistributionStartup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image Distribution
 
Stargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動する
 
OCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰するOCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰する
 
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
 
5分で振り返るKubeCon EU 2019:ランタイムとイメージの話題ダイジェスト
5分で振り返るKubeCon EU 2019:ランタイムとイメージの話題ダイジェスト5分で振り返るKubeCon EU 2019:ランタイムとイメージの話題ダイジェスト
5分で振り返るKubeCon EU 2019:ランタイムとイメージの話題ダイジェスト
 

Kürzlich hochgeladen

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Kürzlich hochgeladen (20)

WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

containerdの概要と最近の機能

  • 1. Copyright(c)2021 NTT Corp. All Rights Reserved containerd Container Runtime Meetup #3 2021/1/28
  • 2. Copyright(c)2021 NTT Corp. All Rights Reserved GitHub:@ktock / Twitter:@TokunagaKohei containerd Stargz Snapshotter
  • 3. Copyright(c)2021 NTT Corp. All Rights Reserved . 4 1
  • 4. Copyright(c)2021 NTT Corp. All Rights Reserved . 4 1
  • 5. Copyright(c)2021 NTT Corp. All Rights Reserved containerd l CNCF graduated 5 l Docker Docker l Kubernetes https://github.com/containerd/containerd l GKE AWS Fargate AKS(preview) IKS l Docker/moby BuildKit k3c PouchContainer l K8s k3s kind minikube kubespray microk8s l FaaS faasd https://sysdig.com/blog/sysdig- 2021-container-security-usage-report/
  • 6. Copyright(c)2021 NTT Corp. All Rights Reserved containerd 2017 2018 2019 2020 2021 12 Docker containerd [1] 5 containerd CNCF [2] v1.0.0 v1.1.0 v1.2.0 v1.3.0 v1.4.0 (12 ) (4 ) (10 ) (9 ) (8 ) 2 containerd CNCF graduation[3] 7 AKS containerd (preview) [7] 8 IKS containerd [4] 9 GKE containerd GA[5] 4 AWS Fargate containerd [6] v1.5.0-beta.0 (1 ) 2016 [1] https://www.docker.com/docker-news-and-press/docker-extracts-and-donates-containerd-its-core-container-runtime-accelerate ; [2] https://www.docker.com/blog/containerd-joins-cncf/ ; [3] https://www.cncf.io/announcements/2019/02/28/cncf-announces-containerd-graduation/ ; [4] https://cloud.ibm.com/docs/containers?topic=containers-changelog_archive#1112_1513 ; [5] https://cloud.google.com/kubernetes- engine/docs/release-notes-archive#september_5_2019 ; [6] https://aws.amazon.com/jp/blogs/containers/aws-fargate-launches-platform-version-1-4/ ; [7] https://azure.microsoft.com/ja-jp/updates/azure-kubernetes-service-aks-support-for- containerd-runtime-is-in-preview/
  • 7. Copyright(c)2021 NTT Corp. All Rights Reserved 3 containerd OCI kubelet CRI OCI containerd API dockerd OCI containerd API CRI Docker
  • 8. Copyright(c)2021 NTT Corp. All Rights Reserved 1: Kubernetes CRI kubectl apply Pod CRI OCI runc, gVisor, Kata Containers OCI apiserver kubelet CRI pull/push
  • 9. Copyright(c)2021 NTT Corp. All Rights Reserved 2: Docker docker run containerd runc, gVisor, Kata Containers OCI containerd API dockerd pull/push Docker API
  • 10. Copyright(c)2021 NTT Corp. All Rights Reserved 3: runc, gVisor, Kata Containers OCI l Docker l containerd l containerd containerd l containerd containerd API BuildKit faasd Pouch Container nerdctl
  • 11. Copyright(c)2021 NTT Corp. All Rights Reserved . 4 1
  • 12. Copyright(c)2021 NTT Corp. All Rights Reserved OS plugins containerd l l lDocker BuildKit l unix socket containerd API CRI • /run/containred/containerd.sock l OCI • OCI Firecracker l containerd container image tasks namespace leases version introspection events diff Server runtimes ) () 2 CRI Client containerd API Kubelet 4 .1
  • 13. Copyright(c)2021 NTT Corp. All Rights Reserved OS container image tasks namespace leases version introspection events diff containerd API l Smart Client l containerd API l l pull/push l l OCI config l Go containerd container image … namespace leases content snapshots events tasks OCI spec Server plugins runtimes API
  • 14. Copyright(c)2021 NTT Corp. All Rights Reserved OS Container ctr: https://github.com/containerd/containerd l containerd contianerd CLI l containerd API nerdctl: https://github.com/AkihiroSuda/nerdctl l Docker containerd CLI by Akihiro Suda, NTT l Docker l Lazy pulling containerd containerd containerd l Docker BuildKit faasd Pouch Container container image tasks namespace leases version introspection events diff Server plugins runtimes ctr, nerdctl, Docker, etc containerd API Client lib crictl: https://github.com/kubernetes-sigs/cri-tools l Kubernetes sig-node CRI CLI containerd API l Server CRI
  • 15. Copyright(c)2021 NTT Corp. All Rights Reserved containerd l • l unix socket API l /run/containerd/containerd.sock l • API Go plugin • Ø containerd container image tasks namespace leases version snapshots CRI tasks container image tasks namespace leases version introspection events diff OCI spec Client OS plugins shim OCI
  • 16. Copyright(c)2021 NTT Corp. All Rights Reserved containerd container image … namespace leases content snapshots CRI tasks Metadata store OS l • API l persistent metadata store (bbolt; https://github.com/etcd-io/bbolt) l CRI • Ø • Pod CNI shim OCI CRI
  • 17. Copyright(c)2021 NTT Corp. All Rights Reserved OS containerd Content store l pull l Snapshotter l “snapshot” l snapshot rootfs l snapshotter Overlayfs btrfs aufs FUSE… Runtime shim OCI l V2 shim container image … namespace leases content snapshots CRI tasks C o n t e n t s t o r e S n a p s h o t t e r R u n t i m e Content store snapshotter containerd Docker Graph Driver
  • 18. Copyright(c)2021 NTT Corp. All Rights Reserved OS containerd containerd ”tightly scoped” l unix socket gRPC API containerd l Go plugin l containerd API l container image … namespace leases content snapshots CRI tasks shim OCI l Proxy content store IPFS l Proxy snapshotter rootfs lazy pulling l Stream processor l V2 shim OCI Kata s h i m
  • 19. Copyright(c)2021 NTT Corp. All Rights Reserved containerd firecracker-containerd https://github.com/firecracker-microvm/firecracker-containerd l AWS Firecracker microVM containerd l Snapshotter v2 runtime microVM API control API Stargz Snapshotter https://github.com/containerd/stargz-snapshotter l containerd non-core subproject l eStargz lazy pulling snapshotter ”remote” snapshotter imgcrypt https://github.com/containerd/imgcrypt l containerd non-core subproject l stream processor OCI runtime V2 runtime l Kata Containers
  • 20. Copyright(c)2021 NTT Corp. All Rights Reserved . 4 1
  • 21. Copyright(c)2021 NTT Corp. All Rights Reserved containerd 1.4.x Lazy pulling: https://github.com/containerd/containerd/pull/3793 l pull l Stargz Snapshotter https://github.com/containerd/stargz-snapshotter proxy snapshotter OCI eStargz lazy pull 0 5 10 15 20 25 30 35 40 45 estargz estargz-noopt legacy Start up time of python:3.7 (print “hello”) pull create run Host: EC2 Oregon (m5.2xlarge, Ubuntu 20.04) Registry: GitHub Container Registry (ghcr.io) Commit 7f45f74 (See detailed info in the later slides) [sec] Cgroups v2 : https://github.com/containerd/containerd/issues/3726 l Fedora (> 31) cgroup v2 containerd l cgroup rootless docker --pids-limit Docker 20.10 SELinux MCS (CRI): https://github.com/containerd/cri/pull/1487 l CRI SELinux MCS Multi Category Security Pod l Pod Pod
  • 22. Copyright(c)2021 NTT Corp. All Rights Reserved Stargz Snapshotter lazy pulling l containerd non-core l OCI eStargz lazy pulling proxy snapshotter • pull Kubernetes l Prefetch content verification l Kaniko, go-containerregistry, ko, nerdctl eStargz Stargz Snapshotter rootfs FUSE Lazy pull eStargz pull https://github.com/containerd/stargz-snapshotter https://www.slideshare.net/KoheiTokunaga/stargz-snapshotter-pullcontainerd-238429575 2 ” Stargz Snapshotter: pull containerd ”. CNDT2020
  • 23. Copyright(c)2021 NTT Corp. All Rights Reserved containerd l ctr containerd containerd l nerdctl https://github.com/AkihiroSuda/nerdctl Docker NRI(Node Resource Interface) (1.5 ): https://github.com/containerd/nri l CNI l CNI NW NRI cgroup namespace path CPU pinning Sandbox API: https://github.com/containerd/containerd/issues/4131 l containerd API Pod Overlayfs volatile option: https://github.com/containerd/containerd/pull/4785 l Overlayfs volatile option (Linux 5.10) upper dir sync Higher level API: CRI v2 embedded kubelet build l containerd API
  • 24. Copyright(c)2021 NTT Corp. All Rights Reserved plugins shim OCI C o n t e n t s t o r e S n a p s h o t t e r R u n t i m e container image tasks namespac e leases version snapshots CRI tasks container image … namespac e leases content snapshots events tasks OCI spec API Metadata store Contained l Kubernetes CRI l Docker l containerd l l smart client l containerd l Lazy pulling cgroup v2 l ( )