自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Kubernetes棄用Docker后怎么辦?

云計(jì)算
近期,Kubernetes在其最新的Changelog中宣布,自Kubernetes 1.20之后將棄用Docker作為容器運(yùn)行時。這一消息在云原生領(lǐng)域激起了不小的水花,在Rancher技術(shù)社區(qū)里許多小伙伴也對此進(jìn)行了激烈的討論。

近期,Kubernetes在其最新的Changelog中宣布,自Kubernetes 1.20之后將棄用Docker作為容器運(yùn)行時。這一消息在云原生領(lǐng)域激起了不小的水花,在Rancher技術(shù)社區(qū)里許多小伙伴也對此進(jìn)行了激烈的討論。

Kubernetes為什么選擇棄用Docker呢?我們需要先簡單了解Dockershim。它是一個橋接服務(wù),幫助Kubernetes與Docker進(jìn)行通信,Kubelet 之前使用 dockershim 實(shí)現(xiàn)對 Docker 的 CRI 支持(Docker本身目前尚未實(shí)現(xiàn)CRI)。但時至今日,維護(hù)Dockershim已成為運(yùn)維/開發(fā)人員的沉重負(fù)擔(dān)。因此Kubernetes社區(qū)建議大家考慮使用包含 CRI 完整實(shí)現(xiàn)(兼容 v1alpha1 或 v1)的可用容器運(yùn)行時。從而取消了對Docker作為容器運(yùn)行時的支持。

不過大家不必過分擔(dān)心,近期從Rancher社區(qū)里面搜集了一些大家比較關(guān)注的問題,下面一一為大家解答:

1、Kubernetes Kubelet 棄用了Docker作為容器運(yùn)行時,有代替方案嗎?

在Kubernetes集群中,容器運(yùn)行時負(fù)責(zé)提取和運(yùn)行容器鏡像。Docker只是被普遍使用的容器運(yùn)行時,在Docker被棄用之后,我們還有兩個常見的選項(xiàng):containerd 和 CRI-O。

Containerd 是一個工業(yè)級標(biāo)準(zhǔn)的容器運(yùn)行時,它極為簡單、健壯并且具備可移植性。Containerd 可以在宿主機(jī)中管理完整的容器生命周期。這是一個100%開源的軟件,已于去年2月份從CNCF畢業(yè)。

去年年初,Rancher推出的輕量級Kubernetes發(fā)行版K3s已經(jīng)使用containerd作為默認(rèn)容器運(yùn)行時。

containerd:https://github.com/containerd/containerd/

CRI-O是由Red Hat推出的一款容器運(yùn)行時,旨在提供一種在OCI一致的運(yùn)行時和Kubelet之間的集成方式。在文章后半部分我們將會進(jìn)一步對比containerd和CRI-O的性能,為您在選擇容器運(yùn)行時的時候提供參考。

CRI-O:https://github.com/cri-o/cri-o

2、我仍然可以在Kubernetes 1.20中使用Docker嗎?

是的,如果使用Docker作為運(yùn)行時,在1.20中只會在Kubelet啟動時打印一個警告日志。Kubernetes最早將在2021年末發(fā)布1.23版本中將dockershim移除。

3、我現(xiàn)有的Docker鏡像仍然可以使用嗎?

仍然可以使用。Docker生成的鏡像實(shí)際上并不是特定于Docker的鏡像,而是OCI(Open Container Initiative)鏡像。無論你使用什么工具構(gòu)建鏡像,任何符合OCI標(biāo)準(zhǔn)的鏡像在Kubernetes看來都是一樣的。containerd和CRI-O都能夠提取這些鏡像并運(yùn)行它們。所以您可以仍然使用Docker來構(gòu)建容器鏡像,并且可以繼續(xù)在containerd和CRI-O上使用。

4、我應(yīng)該使用哪個CRI實(shí)現(xiàn)?

這是一個比較復(fù)雜的問題,它取決于許多因素。如果您之前熟練使用Docker,那么遷移到containerd應(yīng)該是一個相對容易的選擇,并且containerd具有更好的性能和更低的成本。當(dāng)然,您也可以探索CNCF領(lǐng)域中的其他項(xiàng)目,來選擇更適合您的環(huán)境。

來源:https://kubernetes.io/blog/202 ... i-use

eBay對containerd和CRI-O進(jìn)行了一組性能測試,包括創(chuàng)建、啟動、停止和刪除容器,以比較它們所耗的時間。如圖所示,containerd在各個方面都表現(xiàn)良好,除了啟動容器這項(xiàng)。從總用時來看,containerd的用時比cri-o要短。

以下數(shù)據(jù)來自eBay的分享:

 

 

containerd和cri-o的性能比較

 

 

 

containerd和cri-o的綜合比較

 

Rancher,阿里云,AWS, Google,IBM和Microsoft作為初始成員,共同建設(shè) containerd 社區(qū)。2017年3月,Docker 將 containerd 捐獻(xiàn)給CNCF(云原生計(jì)算基金會)。containerd得到了快速的發(fā)展和廣泛的支持。Docker引擎已經(jīng)將containerd作為容器生命周期管理的基礎(chǔ),Kubernetes也在2018年5月,正式支持containerd作為容器運(yùn)行時管理器。2019年2月,CNCF宣布containerd畢業(yè),成為生產(chǎn)可用的項(xiàng)目,更加穩(wěn)定。

5、Rancher 對 Containerd 的支持

Rancher 在輕量級Kubernetes發(fā)行版 K3s和 RKE2(2020年10月推出)中早已將 containerd 作為默認(rèn)的容器運(yùn)行時。相信在 Rancher 2.x 支持 Kubernetes 1.20+ 之后會將這些寶貴經(jīng)驗(yàn)運(yùn)用到新版本的Rancher 2.x 迭代中。

其實(shí)Kubernetes棄用Docker這一決定已經(jīng)醞釀很長時間了,可能對于沒有密切關(guān)注這個方面的工程師來說有些措手不及。但其實(shí)無需特別擔(dān)心:如果你是Kubernetes的終端用戶,這僅僅是一個后端容器運(yùn)行時的更改,從使用方面來說幾乎感覺不到區(qū)別;如果你是一名開發(fā)/運(yùn)維人員,你依舊可以繼續(xù)使用Docker來構(gòu)建鏡像,以相同的方式將鏡像推送到Registry,并且將這些鏡像部署到你的Kubernetes中;如果你是運(yùn)行和操作集群的用戶,你只需要將Docker切換成你需要的容器運(yùn)行時即可。

責(zé)任編輯:未麗燕 來源: Dockone.io
相關(guān)推薦

2020-12-03 18:29:30

KubernetesDocker容器

2021-06-04 05:21:19

KubernetesDocker容器

2022-06-03 09:41:03

DockerKubernetes容器

2015-03-31 15:33:55

2010-08-04 08:38:52

2021-06-04 10:56:32

分庫數(shù)據(jù)庫查詢

2021-01-04 10:02:17

DockerLoaded plug操作系統(tǒng)

2020-10-10 09:05:25

信息安全手機(jī)技術(shù)

2024-10-17 10:25:34

2020-12-03 06:18:04

磁盤Docker容器

2024-01-22 12:46:00

KubernetesAPI接口

2012-12-18 15:33:44

遞歸數(shù)據(jù)并行計(jì)算

2009-11-03 08:56:02

linux死機(jī)操作系統(tǒng)

2024-04-22 08:17:23

MySQL誤刪數(shù)據(jù)

2017-02-21 13:11:43

SDN網(wǎng)絡(luò)體系SDN架構(gòu)

2022-05-19 08:01:49

PostgreSQL數(shù)據(jù)庫

2022-12-19 11:31:57

緩存失效數(shù)據(jù)庫

2021-10-27 18:52:17

Gitflow工具命名

2018-01-28 20:39:39

戴爾

2022-07-05 11:48:47

MySQL死鎖表鎖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號