當前位置:
首頁 > 知識 > Kubernetes風頭正盛,Docker何去何從?

Kubernetes風頭正盛,Docker何去何從?

讓部署容器化應用更簡單、高效,正是這樣的特性,讓Kubernetes風靡一時,其發展勢頭大有超過Docker的氣勢。很多人一提到Docker ,立刻會想到kubernetes。那是不是代表著,Kubernetes已能替代Docker了呢?顯然,這是技術概念過度熱炒的結果!

什麼是Docker?

Kubernetes風頭正盛,Docker何去何從?

雖然,我們一直在談論容器,探討基於容器的基礎設施建設,但其實並沒有理解容器技術的真正內涵,不知道這一技術是如何解決企業業務問題的。在筆者看來,容器技術其實就是「伺服器管理技術」。為什麼這樣說?因為容器技術之所以誕生,最根本原因是伺服器管理帶來的挑戰,尤其是基於Linux系統的伺服器。

當然,並不是說Linux伺服器有多複雜,而是因為Linux是當今唯一和互聯網服務相關的伺服器系統,我們需要考慮如何基於互聯網服務運行伺服器,並確保不受攻擊。然而,有時候,太多的伺服器支撐是一種資源浪費,因此我們又提出微服務概念。微服務是一個新興的軟體架構,是把一個大型的單個應用程序和服務拆分為數十個微服務。

針對微服務概念,Linux在2006年推出了一項被稱為「cgroups」的技術。Cgroups是controlgroups的縮寫,是Linux內核提供的一種可以限制、記錄、隔離進程組(processgroups)所使用的物理資源(如:cpu,memory,IO等等)的機制。cgroups為容器實現虛擬化提供了基本保證,是構建Docker等一系列虛擬化管理工具的基石。但是,如果你不太熟悉Linux內核技術,那麼使用cgroups其實並不是一件特別容易的事,這也是Cgroups為什麼不為人所知的根本原因之一。

Docker的出現,提供了一個比cgroups更方便的Linux伺服器管理工具。Docker太好用了,以至於很多人都沒有意識到自己使用的正是Linux內核技術。藉助Docker,開發者可以在一台伺服器上運行多個應用,所有應用完全使用沙箱機制,相互之間不會有任何介面,這種隔離機制大大確保了各個應用之間的安全性。其中,Docker Swarm是Docker的最核心工具之一,該應用可以把不同的伺服器組合成一個集群。當管理多個伺服器時,這種集群效應就開始發揮作用。

所以,當我們談容器,尤其是Docker時,其實我們基本上談論的是Linux內核技術。

什麼是Kubernetes?

那麼,Kubernetes又是什麼?我們為什麼需要它?要想更好地理解這一點,你可以假設一個應用場景:有一個數據中心,有數以千計的伺服器,運維人員不只是維護一個微服務,而是成千上萬個,這時我們必須藉助一個大的操作平台來管理。因此,Kubernetes才有了成長沃土。

Kubernetes是Google開源的一個容器編排引擎,它支持自動化部署、大規模可伸縮、應用容器化管理。在生產環境中部署一個應用程序時,通常要部署該應用的多個實例以便對應用請求進行負載均衡。在Kubernetes中,我們可以創建多個容器,每個容器裡面運行一個應用實例,然後通過內置的負載均衡策略,實現對這一組應用實例的管理、發現、訪問,而這些細節都不需要運維人員去進行複雜的手工配置和處理。

為什麼要用Docker,而不是Kubernetes?

我們為什麼要使用Docker,而不是Kubernetes。如前文所述,當我們在談論容器技術時,其實重點是Linux內核技術。如果你希望在項目中使用容器,那麼應該對Linux有一點經驗。Docker容器整合了cgroups技術,提供了一個更理想的工具集,實現了container的資源的隔離和控制。

Kubernetes這項技術並不適用於小型公司,更不適合單個web項目的運營。儘管, 理論上也能用,但是會「大材小用」,就像我們不會乘著火箭去度假一樣。當然,我們不是要打壓Kubernetes,這是一項很棒、還免費的技術,但是並不是所有的技術都適合自己。我們要捫心自問下,是否真的需要這鐘技術。Kubernetes更適用於一個架構龐大、且應用不斷增長的環境,比如:谷歌、亞馬遜、微軟這樣大的互聯網公司。

另外,相比Kubernetes,構建一個輕量級Docker群集環境更容易,其中有很多酷炫的功能和特性。

總之,我們不能只是跟風。到底什麼是Docker,什麼Kubernetes,及我們為什麼要使用Docker?解決了這些基本問題,也就不會盲從於各種概念了。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT168企業級 的精彩文章:

MapReuce中對大數據處理最合適的數據格式是什麼?
DC管理新劇開播丨對智能巡檢say hi

TAG:IT168企業級 |