Kubernetes正在棄用Docker?!
一段時間以來,當人們想到容器時,就會想到Docker和Kubernetes,在構建和運行容器方面,Docker一直是大名鼎鼎,而在管理和編排容器方面,Kubernetes就是事實的上的標準,聽說 Kubernetes從1.20版開始將廢棄Docker作為容器運行時,這似乎有點令人震驚,
所以,讓我們借此機會看看這種變化的真正含義,以及Kubernetes用戶需要做些什么,
Docker有什么變化?
Kubernetes棄用Docker實際上并不像聽起來那么重要,所以讓我們來談談這里真正發生的事情,
Kubernetes正在取消對Docker作為容器運行時的支持,Kubernetes實際上并不處理在機器上運行容器的程序,相反,它依賴于另一個稱為容器運行時的軟體,

容器運行時在主機上運行容器,Kubernetes告訴每個主機上的容器運行時要做什么,當涉及到在運行Kubernetes時要用作容器運行時的軟體時,您實際上可以從多種選項中進行選擇,到目前為止,一個相當流行的選擇是使用Docker作為容器運行時,
但是,這將不再是未來的選擇,您仍然可以以與Kubernetes相關的其他方式使用Docker,但您將無法使用Docker作為Kubernetes的容器運行時,
為什么Kubernetes棄用Docker?
到目前為止,Kubernetes已經支持使用Docker作為容器運行時,那么為什么他們選擇停止支持它呢?
Kubernetes可與所有實作稱為容器運行時介面(CRI)標準的容器運行時一起使用,這本質上是 Kubernetes和容器運行時之間通信的標準方式,任何支持該標準的運行時都可以與Kubernetes配合使用,
在過去,容器運行時沒有那么多好的選擇,Docker又沒有實作容器運行時介面(CRI),所以Kubernetes就實作了Docker shim組件,這是一個額外的層,用作Kubernetes和Docker之間的介面,然而,現在有很多實作CRI介面的運行時可用,Kubernetes保持對Docker的特殊支持就不再有意義,
到底發生了什么?
要真正理解為什么Kubernetes棄用Docker是有意義的,我們需要更深入一點,
我會告訴你一個秘密:Docker實際上并不是一個容器運行時!它實際上是一組工具,位于名為containerd的容器運行時之上,
這是正確的!Docker不直接運行容器,它只是在單獨的底層容器運行時之上創建了一個更易于人類訪問且功能豐富的界面,當用作Kubernetes的容器運行時,Docker只是Kubernetes和containerd之間的中間人,

然而,Kubernetes可以直接使用containerd作為容器運行時,這意味著不再需要Docker這個中間人角色,即使在Kubernetes生態系統中,Docker仍然可以提供很多東西,它只是不需要專門作為容器運行時,

Docker 未來的作用是什么?
盡管Docker不需要作為Kubernetes中的容器運行時,但它仍然可以在Kubernetes生態系統和您的作業流程中發揮作用,
Docker作為開發和構建容器鏡像以及在本地運行它們的工具仍然很強大,Kubernetes仍然可以運行使用Docker的鏡像格式構建的容器,這意味著您仍然可以使用Dockerfiles并使用Docker構建容器鏡像,
Kubernetes也將繼續能夠從Docker倉庫(例如Docker Hub)中提取鏡像,這意味著Docker在鏡像構建后的鏡像管理上仍然是一個強有力的競爭者,
總而言之,Docker將繼續成為您的開發作業流和持續集成系統中的有用工具,即使Kubernetes不在支持Docker,
Containerd和CRI-O:Docker的替代方案
如果您當前在Kubernetes環境中使用Docker作為容器運行時,則需要進行一些更改,只需消除Docker作為Kubernetes環境中的中間人,改用另一個容器運行時,例如containerd或CRI-O,
除此之外,沒有什么其他的改變,您可以繼續使用Docker來構建您的鏡像,以及出于開發目的在本地或在您的持續集成系統中運行容器,您還可以繼續使用Docker倉庫來存盤和管理您的鏡像,
當然您如果不知道如何更改您的Kubernetes,建議您嘗試使用StarOS來構建部署您的應用,這樣您就再也不必擔心此類問題,
StarOS是一個一站式云原生在線開發平臺,底層技識訓于Kubernetes,
StarOS通過架構圖模型,將微服務的依賴關系固化,完成了對整個應用的封裝,從而實作了應用與環境的解耦,無論是應用復制,還是應用遷移,都得心應手,并且基于基礎設施下沉的理念,將底層的容器集群資源、運維管理工具,以及中間件、環境配置等全部下沉為平臺能力,真正做到了一站式,而且開箱即用,
StarOS還為研發團隊提供了多職能、多場景的多人在線協作研發工具,支持研發作業中多種輸出物的在線編輯交付,讓您在異地協同,遠程辦公的時候,盡享便利,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/296409.html
標籤:架構設計
上一篇:不裝了,攤牌了,月薪10571元的我是新生代農民工中的一員
下一篇:代理和負載均衡概述
