Docker和containerd的优缺点对比
今天就跟大家聊聊有關(guān)Docker和containerd的優(yōu)缺點(diǎn)對(duì)比,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
containerd簡(jiǎn)介
containerd是一個(gè)工業(yè)級(jí)標(biāo)準(zhǔn)的容器運(yùn)行時(shí),它強(qiáng)調(diào)簡(jiǎn)單性、健壯性和可移植性。containerd可以在宿主機(jī)中管理完整的容器生命周期,包括容器鏡像的傳輸和存儲(chǔ)、容器的執(zhí)行和管理、存儲(chǔ)和網(wǎng)絡(luò)等。
Docker vs containerd
containerd是從Docker中分離出來的一個(gè)項(xiàng)目,可以作為一個(gè)底層容器運(yùn)行時(shí),現(xiàn)在它成了Kubernete容器運(yùn)行時(shí)更好的選擇。
不僅僅是Docker,還有很多云平臺(tái)也支持containerd作為底層容器運(yùn)行時(shí),具體參考下圖。
K8S CRI
K8S發(fā)布CRI(Container Runtime Interface),統(tǒng)一了容器運(yùn)行時(shí)接口,凡是支持CRI的容器運(yùn)行時(shí),皆可作為K8S的底層容器運(yùn)行時(shí)。
K8S為什么要放棄使用Docker作為容器運(yùn)行時(shí),而使用containerd呢?
如果你使用Docker作為K8S容器運(yùn)行時(shí)的話,kubelet需要先要通過 dockershim 去調(diào)用Docker,再通過Docker去調(diào)用containerd。
如果你使用containerd作為K8S容器運(yùn)行時(shí)的話,由于containerd內(nèi)置了 CRI 插件,kubelet可以直接調(diào)用containerd。
使用containerd不僅性能提高了(調(diào)用鏈變短了),而且資源占用也會(huì)變小(Docker不是一個(gè)純粹的容器運(yùn)行時(shí),具有大量其他功能)。
containerd使用
如果你之前用過Docker,你只要稍微花5分鐘就可以學(xué)會(huì)containerd了,接下來我們學(xué)習(xí)下containerd的使用。
-
在之前的文章 《據(jù)說只有高端機(jī)器才配運(yùn)行K8S,網(wǎng)友:1G內(nèi)存的渣渣跑起來了!》 中我們安裝了K3S,由于K3S中默認(rèn)使用containerd作為容器運(yùn)行時(shí),我們只要安裝好K3S就可以使用它了;
-
其實(shí)只要把我們之前使用的
docker命令改為crictl命令即可操作containerd,比如查看所有運(yùn)行中的容器;
crictl ps
CONTAINERIMAGECREATEDSTATENAMEATTEMPTPODID 4ca73ded41bb63b0b04aa3473fLessthanasecondagoRunninghelm2021103f0058872 3bb5767a81954296a6d5035e2dAboutaminuteagoRunningcoredns1af887263bd869 a5e34c24be3710346349a1a640AboutaminuteagoRunningnginx189defc6008501
查看所有鏡像;
crictl images
IMAGETAGIMAGEIDSIZE docker.io/library/nginx1.100346349a1a64071.4MB docker.io/rancher/coredns-coredns1.8.0296a6d5035e2d12.9MB docker.io/rancher/klipper-helmv0.4.33b0b04aa3473f50.7MB docker.io/rancher/local-path-provisionerv0.0.14e422121c9c5f913.4MB docker.io/rancher/metrics-serverv0.3.69dd718864ce6110.5MB docker.io/rancher/pause3.1da86e6ba6ca19327kB
進(jìn)入容器內(nèi)部執(zhí)行bash命令,這里需要注意的是只能使用容器ID,不支持使用容器名稱;
crictlexec-ita5e34c24be371/bin/bash
查看容器中應(yīng)用資源占用情況,可以發(fā)現(xiàn)占用非常低。
crictl stats
CONTAINERCPU%MEMDISKINODES 3bb5767a819540.5414.27MB254B14 a5e34c24be3710.002.441MB339B16
總結(jié)
以上是生活随笔為你收集整理的Docker和containerd的优缺点对比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java项目设计_java项目设计
- 下一篇: RabbitMQ——使用Shovel插件