小編給大家分享一下Kubernetes和Docker是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司長期為超過千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為吳興企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站建設,吳興網(wǎng)站改版等技術服務。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
什么是Docker?
雖然,我們一直在談論容器,探討基于容器的基礎設施建設,但其實并沒有理解容器技術的真正內涵,不知道這一技術是如何解決企業(yè)業(yè)務問題的。在筆者看來,容器技術其實就是“服務器管理技術”。為什么這樣說?因為容器技術之所以誕生,最根本原因是服務器管理帶來的挑戰(zhàn),尤其是基于Linux系統(tǒng)的服務器。
當然,并不是說Linux服務器有多復雜,而是因為Linux是當今唯一和互聯(lián)網(wǎng)服務相關的服務器系統(tǒng),我們需要考慮如何基于互聯(lián)網(wǎng)服務運行服務器,并確保不受攻擊。然而,有時候,太多的服務器支撐是一種資源浪費,因此我們又提出微服務概念。微服務是一個新興的軟件架構,是把一個大型的單個應用程序和服務拆分為數(shù)十個微服務。
針對微服務概念,Linux在2006年推出了一項被稱為“cgroups”的技術。Cgroups是controlgroups的縮寫,是Linux內核提供的一種可以限制、記錄、隔離進程組(processgroups)所使用的物理資源(如:cpu,memory,IO等等)的機制。cgroups為容器實現(xiàn)虛擬化提供了基本保證,是構建Docker等一系列虛擬化管理工具的基石。但是,如果你不太熟悉Linux內核技術,那么使用cgroups其實并不是一件特別容易的事,這也是Cgroups為什么不為人所知的根本原因之一。
Docker的出現(xiàn),提供了一個比cgroups更方便的Linux服務器管理工具。Docker太好用了,以至于很多人都沒有意識到自己使用的正是Linux內核技術。借助Docker,開發(fā)者可以在一臺服務器上運行多個應用,所有應用完全使用沙箱機制,相互之間不會有任何接口,這種隔離機制大大確保了各個應用之間的安全性。其中,Docker Swarm是Docker的最核心工具之一,該應用可以把不同的服務器組合成一個集群。當管理多個服務器時,這種集群效應就開始發(fā)揮作用。
所以,當我們談容器,尤其是Docker時,其實我們基本上談論的是Linux內核技術。
什么是Kubernetes?
那么,Kubernetes又是什么?我們?yōu)槭裁葱枰?要想更好地理解這一點,你可以假設一個應用場景:有一個數(shù)據(jù)中心,有數(shù)以千計的服務器,運維人員不只是維護一個微服務,而是成千上萬個,這時我們必須借助一個大的操作平臺來管理。因此,Kubernetes才有了成長沃土。
Kubernetes是Google開源的一個容器編排引擎,它支持自動化部署、大規(guī)??缮炜s、應用容器化管理。在生產環(huán)境中部署一個應用程序時,通常要部署該應用的多個實例以便對應用請求進行負載均衡。在Kubernetes中,我們可以創(chuàng)建多個容器,每個容器里面運行一個應用實例,然后通過內置的負載均衡策略,實現(xiàn)對這一組應用實例的管理、發(fā)現(xiàn)、訪問,而這些細節(jié)都不需要運維人員去進行復雜的手工配置和處理。
為什么要用Docker,而不是Kubernetes?
我們?yōu)槭裁匆褂肈ocker,而不是Kubernetes。如前文所述,當我們在談論容器技術時,其實重點是Linux內核技術。如果你希望在項目中使用容器,那么應該對Linux有一點經(jīng)驗。Docker容器整合了cgroups技術,提供了一個更理想的工具集,實現(xiàn)了container的資源的隔離和控制。
Kubernetes這項技術并不適用于小型公司,更不適合單個web項目的運營。盡管, 理論上也能用,但是會“大材小用”,就像我們不會乘著火箭去度假一樣。當然,我們不是要打壓Kubernetes,這是一項很棒、還免費的技術,但是并不是所有的技術都適合自己。我們要捫心自問下,是否真的需要這鐘技術。Kubernetes更適用于一個架構龐大、且應用不斷增長的環(huán)境,比如:谷歌、亞馬遜、微軟這樣大的互聯(lián)網(wǎng)公司。
另外,相比Kubernetes,構建一個輕量級Docker群集環(huán)境更容易,其中有很多酷炫的功能和特性。
以上是“Kubernetes和Docker是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!