Kubernetes風頭正盛,Docker何去何從?
讓部署容器化應用更簡單、高效,正是這樣的特性,讓Kubernetes風靡一時,其發展勢頭大有超過Docker的氣勢。很多人一提到Docker ,立刻會想到kubernetes。那是不是代表著,Kubernetes已能替代Docker了呢?顯然,這是技術概念過度熱炒的結果!
什麼是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?解決了這些基本問題,也就不會盲從於各種概念了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2215584/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 系列好文 | Kubernetes 棄用 Docker,我們該何去何從?Docker
- iOS開發何去何從iOS
- DOC檔案何去何從
- 臺灣科技產業風雨飄搖 未來該何去何從?產業
- web前端開發前景何去何從Web前端
- 4 年多經驗,何去何從
- 團隊解散,我們該何去何從?
- 前端框架這麼多,該何去何從?前端框架
- GitHub破例接受投資,未來何去何從?Github
- Sora 時代的 AI 影片生成何去何從?SoraAI
- 5G多址技術何去何從?
- 華瑞IT教育:高考落榜,該何去何從
- 雲原生時代,資料庫該何去何從?資料庫
- 前端這條路,我們該何去何從前端
- 無人機再撞客機 無人機將何去何從無人機
- 前有Windows後有Linux Unix何去何從WindowsLinux
- 當程式碼遇上詐騙,開發者該何去何從?
- 我是一個請求,我該何去何從
- 自主可控時代,國產商用密碼將何去何從?密碼
- 資料中臺與資料治理將何去何從?
- 深度學習的困境,我們該何去何從?深度學習
- 前端這條路,我們該何去何從(續)前端
- 北上港深, 海歸程式設計師何去何從?程式設計師
- 忠誠與背叛:Emacs 遭遇背刺,你將何去何從?Mac
- 探討互動視訊&多結局遊戲何去何從?遊戲
- 未來展望:計算機世界即將何去何從計算機
- 雲端計算逼近現實生活 IT員工何去何從?
- 從螺絲釘到無名小卒-IC工程師何去何從工程師
- 貝恩諮詢:疫情之下,中國醫療行業何去何從行業
- 全球經濟蒸發,網際網路人該何去何從?
- 疫情過後,走出寒冬後的人工智慧何去何從人工智慧
- 馬化騰深夜發問 網際網路未來何去何從
- 內卷下的智慧投影行業,未來何去何從?行業
- 每日優鮮市值暴跌,生鮮電商行業何去何從?行業
- 2009年:微軟的SOA應該何去何從?微軟
- 40歲大齡失業程式猿,未來該何去何從
- [計算機網路] - 從英雄聯盟,看資料包何去何從?計算機網路
- LeSS 的誕生(一):大規模團隊該何去何從