亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Docker、Containerd和Kubernetes之間的關(guān)系

阿銘linux ? 來源:阿銘linux ? 2023-04-08 10:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1)Kubernetes與Docker

Docker是最早出現(xiàn)的那批容器引擎工具,所以它最早占領(lǐng)了市場。Kubernetes主要用來做容器編排,用來管理容器集群,是一個平臺。

Kubernetes要想去控制容器,就得借助容器引擎,在早期的Kubernetes版本里,除了選擇Docker作為容器引擎外,沒更好的選擇。所以早期的Kubernetes和Docker深深地綁定了在一起。由于Docker可以在沒有Kubernetes的情況下使用,而Kubernetes必須要有容器運(yùn)行時(Docker引擎)才能進(jìn)行編排。

這對于Kubernetes來說,絕對是一個非常大的隱患,這相當(dāng)于是將自己命根子交給了別人,如果哪天Docker翻臉了,Kubernetes必然損失巨大。

好在,Kubernetes發(fā)展比Docker更加迅猛,勢頭遠(yuǎn)遠(yuǎn)蓋過了Docker,Kubernetes終于有資格自己決定做一些事情了。

2)CRI

為了解決隱患,Kubernetes在1.5版本里,引入了一個新的接口標(biāo)準(zhǔn):CRI(Container Runtime Interface),它主要用來規(guī)定如何調(diào)用容器運(yùn)行時來管理容器和鏡像,但這個接口標(biāo)準(zhǔn)和之前的Docker調(diào)用標(biāo)準(zhǔn)有不少差異,所以兩者完全不兼容。這意味著,Kubernetes可以撇開Docker,使用其它容器運(yùn)行時(如rkt)。

由于Docker用戶非常龐大,Kubernetes也意識到了直接不兼容Docker會有許多不確定風(fēng)險(xiǎn),當(dāng)時,Kubernetes用了一個臨時方案,在Kubernetes和Docker中間開發(fā)了一個Dockershim,主要用來將Docker的接口標(biāo)準(zhǔn)轉(zhuǎn)換成CRI標(biāo)準(zhǔn)。

3)Containerd

Docker意識到Kubernetes的改變,為了迎合Kubernetes,將Docker Engine拆分成多個模塊,其中Docker Daemon部分也就是說Containerd捐獻(xiàn)給了CNCF。

所以,Containerd實(shí)際上是Docker引擎拆出來的一個模塊。

Containerd 作為 CNCF 的托管項(xiàng)目,自然是要符合 CRI 標(biāo)準(zhǔn)的。但當(dāng)時的Docker 出于自己諸多原因的考慮,它只是在 Docker Engine 里調(diào)用了 containerd,外部的接口仍然保持不變,也就是說還不與 CRI 兼容。

在當(dāng)時的Kubernetes版本里,有兩種方法調(diào)用容器:

第一種是用 CRI 調(diào)用 dockershim,然后 dockershim 調(diào)用 Docker,Docker 再走 containerd 去操作容器。

第二種是用 CRI 直接調(diào)用 containerd 去操作容器。

6de4b732-d5a9-11ed-bfe3-dac502259ad0.png

很明顯,第一種方法多了兩層調(diào)用,性能明顯不如第二種方法。所以Kubernetes決定將dockershim移除,所以也就不能直接使用Docker了,在外界看來就像是Kubernetes棄用了Docker。

4)棄用dockershim

2020年Kubernetes發(fā)布1.20版本時,對外聲明將在后續(xù)版本里(實(shí)際上是在22年的1.24版本里)移除dockershim,也就是取消對Docker的支持。當(dāng)時,眾多吃瓜群眾理解錯了意思,認(rèn)為成了Kubernetes棄用Docker。它實(shí)際上只是“棄用了 dockershim”這個小組件,也就是說把 dockershim 移出了 kubelet,并不是“棄用了 Docker”這個軟件產(chǎn)品。

這個舉措對Kubernetes和 Docker 來說都不會有什么太大的影響,因?yàn)樗麄儍蓚€都早已經(jīng)把下層都改成了開源的 containerd,原來的 Docker 鏡像和容器仍然會正常運(yùn)行,唯一的變化就是 Kubernetes繞過了 Docker,直接調(diào)用 Docker 內(nèi)部的 containerd 而已。

5)Kubernetes移除dockershim后對Docker的影響

雖然現(xiàn)在 Kubernetes 不再默認(rèn)綁定 Docker,但 Docker 還是能夠以其他的形式與 Kubernetes 共存的。

首先,因?yàn)槿萜麋R像格式已經(jīng)被標(biāo)準(zhǔn)化了(OCI 規(guī)范,Open Container Initiative),Docker 鏡像仍然可以在 Kubernetes 里正常使用,原來的開發(fā)測試、CI/CD 流程都不需要改動,我們?nèi)匀豢梢岳?Docker Hub 上的鏡像,或者編寫 Dockerfile 來打包應(yīng)用。

其次,Docker 是一個完整的軟件產(chǎn)品線,不止是 containerd,它還包括了鏡像構(gòu)建、分發(fā)、測試等許多服務(wù),甚至在 Docker Desktop 里還內(nèi)置了 Kubernetes。單就容器開發(fā)的便利性來講,Docker 還是暫時難以被替代的,廣大云原生開發(fā)者可以在這個熟悉的環(huán)境里繼續(xù)工作,利用 Docker 來開發(fā)運(yùn)行在 Kubernetes 里的應(yīng)用。

再次,雖然 Kubernetes 已經(jīng)不再包含 dockershim,但 Docker 公司卻把這部分代碼接管了過來,另建了一個叫 cri-dockerd的項(xiàng)目,作用也是一樣的,把 Docker Engine 適配成 CRI 接口,這樣 kubelet 就又可以通過它來操作 Docker 了,就仿佛是一切從未發(fā)生過。

綜合來看,Docker 雖然在容器編排戰(zhàn)爭里落敗,被 Kubernetes 排擠到了角落,但它仍然具有強(qiáng)韌的生命力,多年來積累的眾多忠實(shí)用戶和數(shù)量龐大的應(yīng)用鏡像是它的最大資本和后盾,足以支持它在另一條不與 Kubernetes 正面交鋒的道路上走下去。而對于我們這些初學(xué)者來說,Docker 方便易用,具有完善的工具鏈和友好的交互界面,市面上很難找到能夠與它媲美的軟件了,應(yīng)該說是入門學(xué)習(xí)容器技術(shù)和云原生的“不二之選”。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    511

    瀏覽量

    22450
  • 鏡像
    +關(guān)注

    關(guān)注

    0

    文章

    178

    瀏覽量

    11245
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    515

    瀏覽量

    12956
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    245

    瀏覽量

    9065

原文標(biāo)題:Docker、Containerd和Kubernetes之間的關(guān)系

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Kubernetes架構(gòu)和核心組件組成 Kubernetes節(jié)點(diǎn)“容器運(yùn)行時”技術(shù)分析

    的服務(wù),而這些都是受Master的控制。 每次個節(jié)點(diǎn)上當(dāng)然都要運(yùn)行Docker。Docker來負(fù)責(zé)所有具體的映像下載和容器運(yùn)行。 Kubernetes主要由以下幾個核心組件組成: 1)etcd保存了整個
    的頭像 發(fā)表于 09-25 15:53 ?3818次閱讀
    <b class='flag-5'>Kubernetes</b>架構(gòu)和核心組件組成 <b class='flag-5'>Kubernetes</b>節(jié)點(diǎn)“容器運(yùn)行時”技術(shù)分析

    Containerd常見命令操作

    作為接替 Docker 運(yùn)行時的 Containerd 在早在 Kubernetes1.7 時就能直接與 Kubelet 集成使用,只是大部分時候我們因熟悉 Docker,在部署集群時
    的頭像 發(fā)表于 08-30 10:08 ?5611次閱讀

    docker無法啟用怎么解決?

    ://docs.docker.com Process: 26896 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd
    發(fā)表于 06-23 07:17

    Kubernetes和Mesos集成的優(yōu)勢與原理

    Kubernetes是一個docker集群管理工具,主要包含資源管理,部署運(yùn)行,服務(wù)發(fā)現(xiàn),擴(kuò)容縮容等功能,幫助用戶把所有的應(yīng)用都部署在Docker Container里邊,Kubernetes
    發(fā)表于 10-12 17:46 ?0次下載
    <b class='flag-5'>Kubernetes</b>和Mesos集成的優(yōu)勢與原理

    軟件容器平臺Docker受實(shí)體清單限制使用 Docker開源項(xiàng)目應(yīng)不受影響

    有網(wǎng)友指出此次 Docker 更新的服務(wù)協(xié)議只是針對 Docker Inc. 相關(guān)網(wǎng)站上提供的服務(wù),而大家常提的 Docker(包含 engine、runc 和 containerd
    的頭像 發(fā)表于 08-19 09:52 ?2968次閱讀

    解析Docker、Kubernetes、Openshift的發(fā)展歷史及架構(gòu)

    Kubernetes前身是谷歌大規(guī)模集群管理系統(tǒng)Brog,它基于容器技術(shù),實(shí)現(xiàn)資源管理的自動化,以及跨數(shù)據(jù)中心資源利用的最大化。Kubernetes于2015年正式對外發(fā)布,經(jīng)過4年多的發(fā)展,為容器編排提供強(qiáng)大的解決方案,成為云原生系統(tǒng)的重要支撐。
    的頭像 發(fā)表于 09-08 10:15 ?4543次閱讀

    簡單說明k8s和Docker之間關(guān)系

    這篇文章主要介紹了k8s和Docker關(guān)系簡單說明,本文利用圖文講解的很透徹,有需要的同學(xué)可以研究下 最近項(xiàng)目用到kubernetes(以下簡稱k8s,k和s之間有8個字母)。雖然之前
    的頭像 發(fā)表于 06-24 15:48 ?3736次閱讀

    Kubernetes是什么,一文了解Kubernetes

    香了。 這時候就需要我們的主角 Kubernetes 上場了,先來了解一下 Kubernetes 的基本概念,后面再介紹實(shí)踐,由淺入深步步為營。 關(guān)于 Kubernetes 的基本概念我們將會圍繞如下七點(diǎn)展開: 一、
    發(fā)表于 12-21 13:40 ?1919次閱讀
    <b class='flag-5'>Kubernetes</b>是什么,一文了解<b class='flag-5'>Kubernetes</b>

    docker-book DockerKubernetes開源書

    gitee-docker-book.zip
    發(fā)表于 04-19 14:22 ?0次下載
    <b class='flag-5'>docker</b>-book <b class='flag-5'>Docker</b>與<b class='flag-5'>Kubernetes</b>開源書

    Containerd控制runC的守護(hù)進(jìn)程

    ./oschina_soft/containerd.zip
    發(fā)表于 05-11 10:05 ?0次下載
    <b class='flag-5'>Containerd</b>控制runC的守護(hù)進(jìn)程

    一文詳解Kubernetes架構(gòu)原理

    打開這篇文章的同學(xué),想必對 Docker 都不會陌生。Docker 是一種虛擬容器技術(shù),它上手比較簡單,只需在宿主機(jī)上起一個 Docker Engine,然后就能愉快的玩耍了,如:拉鏡像、起容器、掛載數(shù)據(jù)、映射端口等等。相對
    的頭像 發(fā)表于 07-14 09:50 ?1308次閱讀

    什么是Kubernetes容器運(yùn)行時CRI

    起初,Docker是事實(shí)上的容器技術(shù)標(biāo)準(zhǔn),Kubernetes v1.5之前的代碼中直接調(diào)用Docker API,實(shí)現(xiàn)容器運(yùn)行時的相關(guān)操作。
    的頭像 發(fā)表于 02-20 16:22 ?2007次閱讀
    什么是<b class='flag-5'>Kubernetes</b>容器運(yùn)行時CRI

    Containerd基礎(chǔ)用法

    Docker 1.11 版本開始,Docker 容器運(yùn)行就不是簡單通過 Docker Daemon 來啟動了,而是通過集成containerd、runc等多個組件來完成的。 雖然
    的頭像 發(fā)表于 04-11 10:50 ?1040次閱讀

    docker容器與容器之間通信

    Docker是一種輕量級容器化技術(shù),能夠?qū)?yīng)用程序及其依賴項(xiàng)封裝在一個獨(dú)立、可移植的容器中。而容器化的應(yīng)用程序通常是以分布式方式設(shè)計(jì)的,因此實(shí)現(xiàn)容器與容器之間的通信至關(guān)重要。 本文將詳細(xì)介紹
    的頭像 發(fā)表于 11-23 09:36 ?1992次閱讀

    如何啟動本機(jī)docker服務(wù)

    Docker: sudo apt- get update sudo apt- get install docker-ce docker-ce-cli containerd.io 對于
    的頭像 發(fā)表于 11-23 09:43 ?2783次閱讀