Kubernetes怎么從Docker遷移到Containerd

這篇文章主要講解了“Kubernetes怎么從Docker遷移到Containerd”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Kubernetes怎么從Docker遷移到Containerd”吧!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、滎經(jīng)網(wǎng)站維護(hù)、網(wǎng)站推廣。

Kubernetes在1.20版本之后不再將Docker作為容器運(yùn)行時使用。不要驚慌????Docker容器仍然支持,但是dockershim/Docker Kubernetes和containerd之間的層已經(jīng)棄用,將從1.22+版本中移除。因此,如果你正在運(yùn)行docker,你需要更改為支持的容器運(yùn)行時接口(CRI)。containerd是一個很好的選擇,如果您正在運(yùn)行Docker,它已經(jīng)在Kubernetes節(jié)點(diǎn)上運(yùn)行了。

一個明顯的優(yōu)勢是開銷更少,沒有Docker-shim和Docker翻譯層,如圖所示。

Kubernetes怎么從Docker遷移到Containerd  
從docker shim改為containerd CRI
 

如何遷移

首先,我們檢查當(dāng)前運(yùn)行的容器是什么。我們使用kubectl get node -o來實(shí)現(xiàn)這一點(diǎn)。正如我們所看到的,我們將Docker作為運(yùn)行時運(yùn)行。

Kubernetes怎么從Docker遷移到Containerd現(xiàn)在,我們檢查containerd cli /usr/bin/ctr是否存在,名稱空間moby是否存在,命令:/usr/bin/ctr namespace list moby是docker的命名空間。Kubernetes怎么從Docker遷移到Containerd我們可以在這個命名空間中列出正在運(yùn)行的容器Kubernetes怎么從Docker遷移到Containerd

如果一切正常,我們可以更改cri,每次更改一個節(jié)點(diǎn),首先是工作節(jié)點(diǎn),然后是控制節(jié)點(diǎn)。如果只有一個控制節(jié)點(diǎn),您將失去對集群的訪問權(quán),這將是暫時的,它應(yīng)該自己恢復(fù)。

 

驅(qū)逐節(jié)點(diǎn)

我們需要封鎖并釋放節(jié)點(diǎn),以便重新調(diào)度工作負(fù)載。

Kubernetes怎么從Docker遷移到Containerd  
 

停止服務(wù)

Kubernetes怎么從Docker遷移到Containerd  
 

刪除docker(可選)

我們刪除了Docker,這是不必要的,但會讓事情更清楚,以后更不容易出錯,我們會節(jié)省一些磁盤空間…

Kubernetes怎么從Docker遷移到Containerd  
 

Containerd配置

禁用/etc/containerd/config中的disabled_plugins行。這樣cri接口就加載了

Kubernetes怎么從Docker遷移到Containerd  

如果containerd沒有配置文件,您可以生成一個新的默認(rèn)文件。

Kubernetes怎么從Docker遷移到Containerd  
 

重啟containerd

systemctl restart containerd

 

更改runtime

編輯/var/lib/kubelet/kubeadm-flags.env文件;并將containerd運(yùn)行時添加到標(biāo)記。--container-runtime=remote--container-runtimeendpoint=unix:///run/containerd/containerd.sock所以kubeadm-flags文件看起來應(yīng)該是這樣的。

Kubernetes怎么從Docker遷移到Containerd  
/var/lib/kubelet/kubeadm-flags.env
 

啟動kubelet

在更改運(yùn)行時之后,我們可以啟動kubelet服務(wù)

systemctl start kubelet

 

核對

現(xiàn)在,當(dāng)我們運(yùn)行kubectl時,kubectl get nodes -o wide,我們看到containerd是我們剛剛更改的節(jié)點(diǎn)的運(yùn)行時containerd。

Kubernetes怎么從Docker遷移到Containerd  

我們剛改變的節(jié)點(diǎn)仍然被封鎖。所以我們現(xiàn)在可以解除封鎖了。

Kubernetes怎么從Docker遷移到Containerd  

如果現(xiàn)在檢查節(jié)點(diǎn)上的名稱空間,會看到一個新的名稱空間k8s.io。moby名稱空間現(xiàn)在是空的,在這個名稱空間中沒有運(yùn)行容器,所有容器現(xiàn)在都在運(yùn)行k8.io命名空間。

Kubernetes怎么從Docker遷移到Containerd  
view new k8s.io containerd namespace

我們已經(jīng)成功地更改了cri,現(xiàn)在我們可以移動到下一個節(jié)點(diǎn)并重復(fù)所有操作。

感謝各位的閱讀,以上就是“Kubernetes怎么從Docker遷移到Containerd”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Kubernetes怎么從Docker遷移到Containerd這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

本文名稱:Kubernetes怎么從Docker遷移到Containerd
文章源于:http://bm7419.com/article32/gegopc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、Google面包屑導(dǎo)航、動態(tài)網(wǎng)站服務(wù)器托管、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)