๋ชฉ์ฐจ
Docker vs. Containerd
CRI
Container Runtime Interface
โข
์ฟ ๋ฒ๋คํฐ์ค์์ ์ปจํ
์ด๋ ๋ฐํ์๊ณผ์ ์ํธ์์ฉ์ ์ ์ํ๋ ํ์ค ์ธํฐํ์ด์ค
โข
OCI ํ์ค์ ์ค์ํ๋ ํํด์ ์ด๋ค provider์ด๋ ๊ฐ์ ์ฟ ๋ฒ๋คํฐ์ค์ ์ปจํ
์ด๋ ๋ฐํ์์ผ๋ก ์์
ํ๊ฒ ํด์ค
OCI
Open Container Initiative
โข
imagespec
โฆ
์ด๋ฏธ์ง ๋น๋ ๋ฐฉ์์ ๋ํ ๊ธฐ์ค์ ์ ์
โข
runtimespec
Docker
โข
Docker๋ CRI๊ฐ ๋์ค๊ธฐ ์ด์ ์ ๋ง๋ค์ด์ง
โข
์ฃผ์ ์ปจํ
์ด๋ ํด๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์ฟ ๋ฒ๋คํฐ์ค์์ ๋์ปค๋ฅผ ๊ณ์ ์ง์
โ dockershim ๋์
โข
CRI ๋ฐ์์ ๋์ปค๋ฅผ ๊ณ์ ์ง์ํ๊ธฐ ์ํจ
โข
๋์ปค๋ Container Runtime๋ง ์์ง ์์
โฆ
CLI, API, Build
โฆ
Volume, Auth, Security
โฆ
Container Runtime (called runC)
โฆ
runC๋ฅผ ๊ด๋ฆฌํ๋ Daemon (called Containerd)
โข
๋์ปค ๋ฐํ์๋ง ๋ฐ๋ก ์ง์ํ๋ ๋ญ๋น ๋ฐ์ โ ๋์ปค ๋ฐํ์ ์ง์ ์ค๋จ
โฆ
๋์ปค ์ด๋ฏธ์ง๋ OCI์ imagespec์ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ ๊ฐ๋ฅ
Containerd
โข
CRI ํธํ์ด ๊ฐ๋ฅํ๊ณ ๋ค๋ฅธ ๋ฐํ์์ฒ๋ผ ์ฟ ๋ฒ๋คํฐ์ค์ ์ง์ ์ ์ผ๋ก ์์
๊ฐ๋ฅ
โข
Docker์ ๋ณ๋๋ก ์ปจํ
์ด๋ ๋ฐํ์์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
โข
Docker์ ์ผ๋ถ์ง๋ง ํ์ฌ๋ ๋
๋ฆฝ
โข
Docker ์ค์น ์์ด๋ ์์ฒด ์ค์น ๊ฐ๋ฅ
CLI - ctr
๋์ปค ์ค์น ์์ด Docker ์ปจํ
์ด๋๋ฅผ ์คํํ๋ ๋๊ตฌ
โข
์ปจํ
์ด๋ ๋๋ฒ๊น
์ ์ํด ๋ง๋ค์ด์ง
โข
์ ํ๋ ๊ธฐ๋ฅ๋ง ์ ๊ณต
โข
์ฌ์ฉ์ ์นํ์ ์ด์ง ์์
ctr images pull docker.io/library/redis:alpine
ctr run docker.io/library/redis:alpine redis
Bash
๋ณต์ฌ
โข
ํ๋ก๋์
ํ๊ฒฝ์์ ์ปจํ
์ด๋๋ฅผ ์คํํ๊ฑฐ๋ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ์ง ์์ (์ปจํ
์ด๋ ๋๋ฒ๊น
์ฉ๋์ด๊ธฐ ๋๋ฌธ)
CLI - nerdctl
โข
containerd๋ฅผ ์ํ ๋์ปค ๊ฐ์ CLI ์ ๊ณต
โข
๋์ปค๊ฐ ์ง์ํ๋ ๋๋ถ๋ถ์ ์ต์
์ ๊ณต
โข
containerd์ ๊ตฌํ๋ ์ต์ ๊ธฐ๋ฅ์ ์ก์ธ์ค ๊ฐ๋ฅ
โฆ
์ํธํ๋ ์ปจํ
์ด๋ ์ด๋ฏธ์ง๋ก ์์
โฆ
Lazy Pulling
โฆ
P2P image distribution
โฆ
Namespaces in Kubernetes โฆ
nerdctl run --name redis redis:alpine
nerdctl run --name webserver -80:80 -d nginx
Bash
๋ณต์ฌ
CLI - crictl
CRI์ ํธํ๋๋ ์ปจํ
์ด๋ ๋ฐํ์์ ์ ๊ณตํ๋ CLI
โข
์ฟ ๋ฒ๋คํฐ์ค ๊ด์ ์์ ์ํธ์์ฉ ํจ
โข
์ฌ๋ฌ ๋ฐํ์์ ๊ฑธ์ณ ์๋ํจ
โข
๋๋ฒ๊น
๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉ๋จ
โฆ
์ปจํ
์ด๋๋ฅผ ๋ง๋ค๊ฑฐ๋ ํ์ง ์์
โข
kubelet๊ณผ ์ ์ด์ธ๋ฆผ
โฆ
crictl utility๋ฅผ ์ฌ์ฉํด ์ปจํ
์ด๋๋ฅผ ๋ง๋ค๋ฉด kubelet์ด ์ญ์ ํจ
โช
kubelet์์ ๋ง๋ ์ปจํ
์ด๋๋ pod๊ฐ ์๋๊ธฐ ๋๋ฌธ์
โฆ
๋ฐ๋ผ์ ๋๋ฒ๊น
๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋จ
circtl pull busy box
crictl images
crictl ps -a
crictl exec -i -t 3425435wret45 ls
crictl logs 3425435wret45
crictl pods
Bash
๋ณต์ฌ
Summary
Containerd Community
โข
ctr
โฆ
๋๋ฒ๊น
๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉ
โฆ
์ ํ๋ ๊ธฐ๋ฅ
โข
nerdctl CLI
โฆ
containerd ๋ฅผ ์ํ Docker ๊ฐ์ CLI
โฆ
์ผ๋ฐ์ ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ๋ง๋๋๋ฐ ๋ชฉ์ ์ผ๋ก ๋
โฆ
Docker CLI์ ๊ฐ๊ฑฐ๋ ๊ทธ ์ด์์ ๊ธฐ๋ฅ ์ ๊ณต
Kubernetes Community
โข
crictl
โฆ
CRI ํธํ๊ฐ๋ฅํ ๋ฐํ์๊ณผ ์ํธ์์ฉํ๋๋ฐ ์ฌ์ฉ
โฆ
์ปจํ
์ด๋๋ง ํด๋นํ๋๊ฒ ์๋ CRI ์ง์ ๋ฐํ์ ์ ์ฒด์ ์ฌ์ฉ
โฆ
์ฃผ๋ก ๋๋ฒ๊น
๋ชฉ์