官术网_书友最值得收藏!

2.1.5 容器運(yùn)行時(shí)

容器運(yùn)行時(shí)負(fù)責(zé)管理容器運(yùn)行的整個(gè)生命周期,包括但不限于指定容器鏡像格式、構(gòu)建鏡像、上傳和拉取鏡像、管理鏡像、管理容器實(shí)例、運(yùn)行容器等。在容器技術(shù)發(fā)展早期,Docker作為容器運(yùn)行時(shí)的標(biāo)準(zhǔn)被廣為使用,而后由Google、CoreOS、Docker等公司在2015年聯(lián)合創(chuàng)建了開(kāi)放容器標(biāo)準(zhǔn)(Open Container Initiative,OCI)[1],用于推進(jìn)容器標(biāo)準(zhǔn)化,其主要包含兩個(gè)標(biāo)準(zhǔn),分別為容器運(yùn)行時(shí)標(biāo)準(zhǔn)[2]和容器鏡像標(biāo)準(zhǔn)[3],OCI的容器運(yùn)行時(shí)主要包括runC、Rocket、Kata Containers、gVisor等。再后來(lái)隨著容器編排技術(shù)的不斷發(fā)展,處于行業(yè)翹楚的Kubernetes推出了容器運(yùn)行時(shí)接口(Container Runtime Interface,CRI),用于與容器運(yùn)行時(shí)進(jìn)行通信,進(jìn)而操作容器化應(yīng)用程序,從Kubernetes官方文檔[4]中我們可以看到,當(dāng)前支持的CRI運(yùn)行時(shí)包括Docker、Containerd、CRI-O。需要注意的是雖然Docker被作為CRI運(yùn)行時(shí),但其自身并不符合Kubernetes的CRI標(biāo)準(zhǔn),只是在早期Docker被作為主流運(yùn)行時(shí)(Containerd、CRI-O相對(duì)出現(xiàn)較晚),因而被Kubernetes采用并通過(guò)維護(hù)中間件的形式來(lái)調(diào)用。從Kubernetes的長(zhǎng)遠(yuǎn)發(fā)展來(lái)看,這并非明智之舉,Kubernetes也對(duì)此進(jìn)行了聲明[5],建議用戶評(píng)估并遷移至CRI支持更完善的運(yùn)行時(shí)上,如Containerd、CRI-O等。

從容器運(yùn)行時(shí)的發(fā)展歷程來(lái)看,容器和Docker這兩個(gè)經(jīng)常被混淆使用的詞的邊界將會(huì)愈發(fā)清晰,未來(lái)容器的構(gòu)建、管理將會(huì)更傾向于使用各自領(lǐng)域的工具來(lái)實(shí)現(xiàn),各司其職。

以上我們對(duì)容器技術(shù)進(jìn)行了簡(jiǎn)單介紹,限于篇幅,更多容器技術(shù)的詳細(xì)內(nèi)容可通過(guò)本書(shū)的Github倉(cāng)庫(kù)進(jìn)行查看。

[1] https://github.com/opencontainers。

[2] https://github.com/opencontainers/runtime-spec。

[3] https://github.com/opencontainers/image-spec。

[4] https://kubernetes.io/zh/docs/setup/production-environment/container-runtimes/。

[5] https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md。

主站蜘蛛池模板: 弥渡县| 西乡县| 勃利县| 克山县| 洛川县| 宁安市| 怀集县| 阜新市| 烟台市| 台北县| 旌德县| 比如县| 桦川县| 玉环县| 江永县| 隆昌县| 仁寿县| 三亚市| 汉川市| 五峰| 涿州市| 大安市| 晋江市| 阿合奇县| 密云县| 台东市| 顺义区| 伊宁县| 西乌珠穆沁旗| 郸城县| 应城市| 丹东市| 丁青县| 新邵县| 大田县| 宝鸡市| 松溪县| 雷波县| 宣化县| 沂南县| 克拉玛依市|