您好,登錄后才能下訂單哦!
這篇文章給大家介紹Kubernetes和Docker的關(guān)系是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
官方定義1
:Docker是一個開源的應(yīng)用容器引擎,開發(fā)者可以打包他們的應(yīng)用及依賴到一個可移植的容器中,發(fā)布到流行的Linux機(jī)器上,也可實現(xiàn)虛擬化。
官方定義2
:k8s是一個開源的容器集群管理系統(tǒng),可以實現(xiàn)容器集群的自動化部署、自動擴(kuò)縮容、維護(hù)等功能。
接下來我們看兩張經(jīng)典的圖:
上圖是Docker容器(可用k8s管理的玩意兒)與傳統(tǒng)虛擬化方式的不同之處:傳統(tǒng)的虛擬技術(shù)在將物理硬件虛擬成多套硬件后,需要在每套硬件上都部署一個操作系統(tǒng),接著在這些操作系統(tǒng)上運行相應(yīng)的應(yīng)用程序。而Docker容器內(nèi)的應(yīng)用程序進(jìn)程直接運行在宿主機(jī)(真實物理機(jī))的內(nèi)核上,Docker引擎將一些各自獨立的應(yīng)用程序和它們各自的依賴打包,相互獨立直接運行于未經(jīng)虛擬化的宿主機(jī)硬件上,同時各個容器也沒有自己的內(nèi)核,顯然比傳統(tǒng)虛擬機(jī)更輕便。每個集群有多個節(jié)點,每個節(jié)點可運行多個容器,我們的kuberbete就是管理這些應(yīng)用程序所在的小運行環(huán)境(container)而生。
注意,大家別把這幅圖與上面Docker的那張圖混淆了,圖1是從虛擬化角度,說明了為應(yīng)用提供必要的運行環(huán)境所需要做的虛擬化操作(即:傳統(tǒng):虛擬出的虛擬機(jī)裝操作系統(tǒng)、Docker:容器引擎管理下的容器)。
而圖2是在這些具體運行環(huán)境上進(jìn)行真實應(yīng)用部署時的情況,傳統(tǒng)方式是將所有應(yīng)用直接部署在同一個物理機(jī)器節(jié)點上,這樣每個App的依賴都是完全相同的,無法做到App之間隔離,當(dāng)然,為了隔離,我們也可以通過創(chuàng)建虛擬機(jī)的方式來將App部署到其中(就像圖1上半部分那樣),但這樣太過繁重,故比虛擬機(jī)更輕便的Docker技術(shù)出現(xiàn),現(xiàn)在我們通過部署Container容器的技術(shù)來部署應(yīng)用,全部Container運行在容器引擎上即可。既然嫌棄虛擬機(jī)繁重,想用Docker,那好,你用吧,怎么用呢?手動一個一個創(chuàng)建?當(dāng)然不,故kubernetes技術(shù)便出現(xiàn)了,以kubernetes為代表的容器集群管理系統(tǒng),這時候就該上場表演了。
說白了,我們用kubernetes去管理Docker集群,即可以將Docker看成Kubernetes內(nèi)部使用的低級別組件。另外,kubernetes不僅僅支持Docker,還支持Rocket,這是另一種容器技術(shù)。希望我這篇文章中簡單的描述能讓你對兩者有所理解和認(rèn)識。
關(guān)于Kubernetes和Docker的關(guān)系是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。