欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(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)了市場(chǎng)。Kubernetes主要用來做容器編排,用來管理容器集群,是一個(gè)平臺(tái)。

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

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

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

2)CRI

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

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

3)Containerd

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

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

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

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

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

5)Kubernetes移除dockershim后對(duì)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ā)測(cè)試、CI/CD 流程都不需要改動(dòng),我們?nèi)匀豢梢岳?Docker Hub 上的鏡像,或者編寫 Dockerfile 來打包應(yīng)用。

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

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

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

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    499

    瀏覽量

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

    關(guān)注

    0

    文章

    170

    瀏覽量

    10798
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    492

    瀏覽量

    11949
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    227

    瀏覽量

    8748

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    Containerd常見命令操作

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

    Kubernetes之路 2 - 利用LXCFS提升容器資源可見性

    摘要: 這是本系列的第2篇內(nèi)容,將介紹在DockerKubernetes環(huán)境中解決遺留應(yīng)用無法識(shí)別容器資源限制的問題。本系列文章記錄了企業(yè)客戶在應(yīng)用Kubernetes時(shí)的一些常見問題第一篇
    發(fā)表于 04-17 14:05

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

    Kubernetes是一個(gè)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)勢(shì)與原理

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

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

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

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

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

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

    Kubernetes是什么,一文了解Kubernetes

    香了。 這時(shí)候就需要我們的主角 Kubernetes 上場(chǎng)了,先來了解一下 Kubernetes 的基本概念,后面再介紹實(shí)踐,由淺入深步步為營(yíng)。 關(guān)于 Kubernetes 的基本概念我們將會(huì)圍繞如下七點(diǎn)展開: 一、
    發(fā)表于 12-21 13:40 ?1831次閱讀
    <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é),想必對(duì) Docker 都不會(huì)陌生。Docker 是一種虛擬容器技術(shù),它上手比較簡(jiǎn)單,只需在宿主機(jī)上起一個(gè) Docker Engine,然后就能愉快的玩耍了,如:拉鏡像、起容器、掛載數(shù)據(jù)、映射端口等等。相對(duì)
    的頭像 發(fā)表于 07-14 09:50 ?1109次閱讀

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

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

    Containerd基礎(chǔ)用法

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

    docker容器與容器之間通信

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

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

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