国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

一文帶你了解Docker與Containerd的區別

云計算 云原生
在 Kubernetes 提出 CRI 操作規范時,Docker剛拆出 containerd,并不支持 CRI 標準。由于當時Docker是容器技術最主流也是最權威的存在,Kuberentes雖然提出了CRI接口規范,但仍然需要去適配CRI與Docker的對接,因此它需要一個中間層或 shim 來對接 Kubelet 和 Docker 的 contianer runtime。

容器運行時

容器運行時(Container Runtime)是一種負責在操作系統層面創建和管理容器的軟件工具或組件。它是容器化技術的核心組件之一,用于在容器內部運行應用程序,并提供隔離、資源管理和安全等功能。 在Kubernetes中,容器運行時是負責管理和運行容器的組件。在過去,Docker是最常用的容器運行時,但隨著時間的推移,containerd成為Kubernetes的另一個受歡迎的容器運行時選擇。

說明:自 kubernetes 1.24 版起,Dockershim 已從 Kubernetes 項目中移除。

容器運行時的主要任務包括:

  1. 容器創建和啟動:容器運行時負責根據預定義的容器配置信息(如鏡像、命令、環境變量等),創建并啟動容器實例。
  2. 容器文件系統管理:容器運行時處理容器的文件系統,負責將鏡像的內容掛載到容器的文件系統,并在容器之間提供隔離。
  3. 資源限制和管理:容器運行時可以根據用戶或管理員定義的資源限制,管理容器對CPU、內存、磁盤等資源的使用。
  4. 容器網絡:容器運行時協助配置容器的網絡,使得容器可以與其他容器或外部網絡進行通信。
  5. 安全性:容器運行時實施安全機制,確保容器之間和宿主機之間的隔離,并防止容器中的惡意行為影響其他容器或宿主機。

在當今云原生技術的潮流中,容器化技術已經成為現代應用部署的主流選擇。Kubernetes (K8s) 作為一種流行的容器編排系統,廣泛應用于大規模的容器集群管理。而在K8s中,容器運行時的選擇對于性能、可靠性和安全性都起著至關重要的作用。本文將對比兩種常見的K8s容器運行時:Containerd和Docker,并探討它們的異同點。

Docker:原先的翹楚

Docker作為一種早期的容器技術,它的出現顛覆了傳統虛擬化方式,通過輕量級容器化的方式實現了應用的打包、交付和運行。Docker在容器技術的普及過程中發揮了關鍵作用,其用戶友好的命令行工具和圖形化界面讓容器技術對廣大開發者變得更加友好和易用。一度,Docker幾乎成為容器化的代名詞。 然而,隨著Kubernetes的興起,Docker在K8s中的地位逐漸受到挑戰。一方面,Docker作為一個完整的容器平臺,包含了許多K8s并不需要的功能,導致資源浪費。另一方面,K8s本身提供了容器編排和調度的功能,與Docker重疊,造成了一定程度上的沖突。 為了防止docker一家獨大,docker當年的實現被拆分出了幾個標準化的模塊,標準化的目的是模塊是可被其他實現替換的,不由任何一個廠商控制。 Docker 由

  • docker-client
  • dockerd
  • containerd
  • docker-shim
  • runc

組成,所以containerd是docker的基礎組件之一,docker 對容器的管理和操作基本都是通過 containerd 完成的。 那么,containerd 是什么呢?

Containerd:K8s生態系統的標配

Containerd是由Docker團隊開源的容器運行時,它專注于提供輕量級、高性能的容器運行環境。作為一個純粹的容器運行時,Containerd被設計為更加符合K8s的架構和需求。它具有更小的資源占用,更快的啟動時間,以及更好的性能表現。 K8s社區認可了Containerd的優勢,并將其作為K8s生態系統的標配容器運行時。 Containerd 可以在宿主機中管理完整的容器生命周期:容器鏡像的傳輸和存儲、容器的執行和管理、存儲和網絡等。詳細點說,Containerd 負責干下面這些事情:

  • 管理容器的生命周期(從創建容器到銷毀容器)
  • 拉取/推送容器鏡像
  • 存儲管理(管理鏡像及容器數據的存儲)
  • 調用 runC 運行容器(與 runC 等容器運行時交互)
  • 管理容器網絡接口及網絡

容器運行時接口(CRI)

容器運行時接口(Container Runtime Interface),簡稱 CRI。 CRI 是一個插件接口,它使 kubelet 能夠使用各種容器運行時,無需重新編譯集群組件。 你需要在集群中的每個節點上都有一個可以正常工作的容器運行時, 這樣 kubelet 能啟動 Pod 及其容器。 容器運行時接口(CRI)是 kubelet 和容器運行時之間通信的主要協議。

Kubernetes 與 dockershim

圖片從Kubernetes的架構圖中,可以看到 Kubelet 下面還有一層Contianer runtime (容器運行時)是作為真正和OS去交互的,這個容器運行時是真正地管理容器的整個生命周期的以及拉取鏡像等操作的。

當前支持的 CRI 后端

我們最初在使用 Kubernetes 時通常會默認使用 Docker 作為容器運行時,其實從 Kubernetes 1.5 開始已經支持 CRI,通過 CRI 接口可以指定使用其它容器運行時作為 Pod 的后端,目前支持 CRI 的后端有:

  • cri-o:cri-o 是 Kubernetes 的 CRI 標準的實現,并且允許 Kubernetes 間接使用 OCI 兼容的容器運行時,可以把 cri-o 看成 Kubernetes 使用 OCI 兼容的容器運行時的中間層。
  • cri-containerd:基于 Containerd 的 Kubernetes CRI 實現,Containerd是一個進程,是CRI-Containerd的實現
  • rkt:由 CoreOS 主推的用來跟 docker 抗衡的容器運行時
  • frakti:基于 hypervisor 的 CRI
  • docker:Kuberentes 最初就開始支持的容器運行時,目前還沒完全從 kubelet 中解耦,Docker 公司同時推廣了 OCI 標準

Dockershim

在 Kubernetes 提出 CRI 操作規范時,Docker剛拆出 containerd,并不支持 CRI 標準。由于當時Docker是容器技術最主流也是最權威的存在,Kuberentes雖然提出了CRI接口規范,但仍然需要去適配CRI與Docker的對接,因此它需要一個中間層或 shim 來對接 Kubelet 和 Docker 的 contianer runtime。 于是 kubelet 中加入了 Dockershim (shim為臨時、兼容的意思)。使用 docker 作為 runtime 時,實際啟動一個容器的過程是:圖片在這個階段 dockershim組件在Kubelet 的代碼中,這也就意味著Dockershim是由K8S組織進行開發和維護!由于Docker公司的版本發布K8S組織是無法控制和管理,所以每次Docker發布新的Release,K8S組織都要集中精力去快速地更新維護Dockershim。 Kubernetes1.24版本正式刪除和棄用dockershim。這件事情的本質是廢棄了內置的 dockershim 功能,直接對接Containerd(后續已經支持 CRI)。這種方式更加標準,調用的鏈路更加的簡潔。圖片

調用關系對比

runtime 是 docker 時的調用鏈:調用關系為:kubelet --> dockershim (在 kubelet 進程中) --> dockerd --> containerd runtime 是 containerd 時的調用鏈:調用關系為:kubelet --> cri plugin(在 containerd 進程中) --> containerd 總結:從k8s的角度看,選擇 Containerd 作為運行時組件更勝一籌,因為 Containerd 調用鏈更短,組件更少,更穩定,占用節點資源更少調用鏈

常用命令

ctr 是 containerd 的一個客戶端工具。 crictl 是 CRI 兼容的容器運行時命令行接口,可以使用它來檢查和調試 k8s 節點上的容器運行時和應用程序。 ctr -v 輸出的是 containerd 的版本,crictl -v 輸出的是當前 k8s 的版本,從結果顯而易見你可以認為 crictl 是用于 k8s 的。


docker

ctr(containerd)

crictl(kubernetes)

查看運行的容器

docker ps

ctr task ls/ctr container ls

crictl ps

查看鏡像

docker images

ctr image ls

crictl images

查看容器日志

docker logs


crictl logs

查看容器數據信息

docker inspect

ctr container info

crictl inspect

查看容器資源

docker stats


crictl stats

啟動/關閉已有的容器

docker start/stop

ctr task start/kill

crictl start/stop

運行一個新的容器

docker run

ctr run

無(最小單元為 pod)

修改鏡像標簽

docker tag

ctr image tag


創建一個新的容器

docker create

ctr container create

crictl create

導入鏡像

docker load

ctr image import


導出鏡像

docker save

ctr image export


刪除容器

docker rm

ctr container rm

crictl rm

刪除鏡像

docker rmi

ctr image rm

crictl rmi

拉取鏡像

docker pull

ctr image pull

ctictl pull

推送鏡像

docker push

ctr image push


在容器內部執行命令

docker exec


crictl exec


責任編輯:武曉燕 來源: 云原生運維圈
相關推薦

2023-12-21 17:11:21

Containerd管理工具命令行

2022-11-11 19:09:13

架構

2023-11-06 08:16:19

APM系統運維

2023-11-20 08:18:49

Netty服務器

2021-12-30 10:30:12

RunC命令Linux

2022-02-24 07:34:10

SSL協議加密

2023-11-08 08:15:48

服務監控Zipkin

2023-10-27 08:15:45

2023-07-31 08:18:50

Docker參數容器

2024-02-04 09:44:41

量子計算量子量子物理

2022-04-28 09:22:46

Vue灰度發布代碼

2020-10-08 14:32:57

大數據工具技術

2025-01-15 09:06:57

servlet服務器Java

2022-09-29 13:09:38

DataClassPython代碼

2025-09-12 16:31:04

TiDBMCP ServerAI工具

2020-02-02 15:14:24

HTTP黑科技前端

2021-08-13 05:50:01

ContainerdDockerKubernetes

2020-01-02 09:57:09

Redis訂閱發布

2019-08-06 09:00:00

JavaScript函數式編程前端

2024-05-07 08:49:36

Hadoop數據存儲-分布式存儲
點贊
收藏

51CTO技術棧公眾號

手机看片久久| 成人晚上爱看视频| 日韩一中文字幕| 黄色羞羞视频在线观看| 91福利小视频| 亚洲综合图片| 亚洲一区欧美一区| wwwwww99| 国产日韩亚洲欧美综合| 凹凸国产熟女精品视频| 国产精品一区二区久久不卡| 久久久久久久久久久一区| 国产a久久精品一区二区三区| 欧美肥臀大乳一区二区免费视频| 久久夜夜操妹子| 国产视频精品一区二区三区| 日韩脚交footjobhd| 亚洲成人激情图| 国模雨婷捆绑高清在线| 欧美成人三级电影在线| 538在线视频| 国产婷婷97碰碰久久人人蜜臀| 羞羞网站在线看| 精品国产免费人成电影在线观看四季| 国内在线免费视频| 亚洲人成电影网| 国产成人免费视频网站视频社区| 菠萝蜜影院一区二区免费| 精品一区二区三区四区五区| 午夜精品国产精品大乳美女| 久久人人爽人人爽人人片av不| 欧美专区福利在线| 7777久久香蕉成人影院| 国产精品成人观看视频免费| 玖玖在线精品| 一区二区视频在线免费| 97久久精品人人澡人人爽| 国产三级三级看三级| 一区二区三区精品在线观看| 国产精品四虎| 亚洲男人第一网站| 国产精品白丝一区二区三区| 国产专区欧美专区| 免费看黄色91| 久久精品国产精品亚洲色婷婷| 国产精品久久久久久久久免费丝袜 | 77777亚洲午夜久久多人| 久久一区二区三区电影| 国产一区在线免费| 国产成人一区二区精品非洲| 黑森林精品导航| 在线一区二区视频| 69久成人做爰电影| 国外成人在线播放| 欧美成人嫩草网站| 欧美日韩中文字幕在线播放| 久久婷婷色综合| 日韩精品视频在线观看一区二区三区| 欧美一二三区在线| 精品中文在线| 成人永久免费| 久久综合九色综合欧美98| 男女网站在线观看| 一本色道久久综合亚洲精品小说 | 亚洲男人的天堂网站| 久久国产精品色av免费看| 国产精品一区二区免费看| 国产精品综合一区二区| 嫩草影院在线观看网站成人| 欧美日韩大陆一区二区| 亚洲伦理久久| 91免费在线观看网站| www.日韩大片| 1024国产在线| 另类图片亚洲另类| 国产免费成人| 天天综合天天操| 日韩av一区在线观看| 嫩草国产精品入口| 五月天综合婷婷| 黑人巨大精品欧美一区二区免费| 日韩制服一区| 久久久久久精| 亚洲妇女屁股眼交7| 精品肉辣文txt下载| 99在线视频免费观看| 久久精品欧美一区二区三区不卡| 日本激情视频在线观看| 久久久久久久成人| 免费久久99精品国产| 在线观看国产麻豆| 欧美精品www| 成人在线视频一区二区| 中文字幕日本在线观看| 456亚洲影院| 国产91精品精华液一区二区三区 | 国产精品国色综合久久| 国产精品色婷婷| 性欧美gay| 欧美午夜视频在线| 色综合色狠狠天天综合色| 日韩最新av| 久久免费一级片| 欧美日韩国产高清一区二区三区| 九九热线有精品视频99| 国产成人av影视| 中文字幕欧美视频在线| 日韩精品一二三| 成人网视频在线观看| 国产精品美女999| 91视频91自| 亚洲精品福利电影| 四虎永久国产精品| 欧美一区二区三区四区五区| 影音先锋成人在线电影| 爽爽免费视频| 久久久视频免费观看| 99在线热播精品免费| 深夜成人影院| a级片一区二区| 亚洲欧洲激情在线| 国产精品中文字幕日韩精品| 欧美1—12sexvideos| 国内外成人免费视频| 欧美性猛交视频| 久久精品国内一区二区三区水蜜桃| 黄色三级电影网站| 午夜欧美不卡精品aaaaa| 久久久久久久av麻豆果冻| 69堂免费精品视频在线播放| 成人手机在线播放| 在线一区二区日韩| 国产成人av电影在线观看| 日本成人三级电影| 日本一区午夜艳熟免费| www.欧美三级电影.com| 久久久久久电影| 五月国产精品| 日本h片在线看| www日韩av| 91精品黄色片免费大全| 久久久久久久波多野高潮日日| 婷婷色在线资源| 男同互操gay射视频在线看| 亚洲视频日韩精品| 91亚洲永久精品| 色老板在线视频一区二区| 蜜桃臀av在线| 久久久久一区二区三区| 亚洲激情视频在线观看| 99久久久精品| 日韩欧美影院| 欧美午夜黄色| 日韩国产高清一区| 中文字幕在线观看亚洲| 国产精品不卡一区二区三区| 欧美丝袜丝交足nylons172| 理论片在线观看理伦片| 久久99精品久久久久久久久久 | 夜夜嗨av一区二区三区四区 | 精品国产伦一区二区三区观看说明| 国产乱子夫妻xx黑人xyx真爽 | 四虎精品一区二区免费| 午夜伦伦电影理论片费看| 国产精品一区二区三区在线播放 | 在线看片你懂得| 性刺激综合网| 中文字幕在线成人| 亚洲精品免费播放| 亚洲激情偷拍| 黄瓜视频成人app免费| 欧美一级特黄a| 91久久大香伊蕉在人线| 日韩麻豆第一页| 国产精品入口麻豆原神| 欧美午夜不卡| 精品国产黄a∨片高清在线| 3dmax动漫人物在线看| 久久青青草综合| 欧美精品在线第一页| 欧美日韩国产一中文字不卡| 久久国内精品自在自线400部| 久久69av| 精产国品自在线www| 激情婷婷综合网| 久久久久高清| 97国产精品免费视频| 777欧美精品| 欧美国产在线观看| 久久精品综合| 西野翔中文久久精品字幕| 麻豆视频在线观看免费| 成人观看免费完整观看| 久久久精品国产一区二区三区| 久久精品视频99| 欧美日产在线观看| 国产精品视频一二三区| 日本视频中文字幕一区二区三区| 亚洲精品播放| 国产成人精品一区二区三区视频|