“一千個讀者眼里有一千個哈姆雷特”。同樣的話也適用于 Kubernetes,同樣的系統在不同的開發人員眼中也是不同的,甚至在不同階段對于它的理解也截然不同。
在尚未開始使用Kubernetes之前,我認為它是一套非常復雜的系統,各種抽象概念以及復雜的安裝過程。差點因為安裝不順,打算就此放棄。理由很簡單:既然有了 Docker,為什么還要 Kubernetes?
之所以覺得Kubernetes系統復雜、難,關鍵是不知道它到底是干啥的?再加上老版本繁瑣的安裝過程,愿意啃它是需要一點毅力的。現在,就通過一張簡單的對比圖告訴你,它到底干了啥!
單看圖示上部分,發生的變化僅僅是HOST換成了POD,底層網絡由真實網絡換成了覆蓋網絡,即虛擬網絡。對于APP應用開發者而言, 即使你完全不懂容器技術也沒關系.這是Kubernetes的厲害之處,它提供的抽象層對于APP應用開發者而言是完全透明的。應用在POD中和在HOST主機上并沒有本質區別。
還是老問題:既然有了 Docker,為什么還要 Kubernetes?
回答這個問題,得從為什么需要引入Docker這個問題先開始。你會說,因為需要容器化部署。那為什么需要容器化部署呢?就這個問題還可以走得更遠一點。這里我就偷懶了,先打住??纯慈萜骰渴鸷蟪霈F的新問題,即容器實例越來越多。因為容器實例越來越多,就像雞蛋太多需要一個籃子來裝一樣,Kubernetes就是那個籃子。當然這不是一個簡單的籃子,此處也不擴展了。
標準答案就是:因為有了 Docker,所以才要Kubernetes。是不是感覺進入一個loop,我也這感覺。
從圖中也可以看出,Docker容器技術是Kubernetes平臺的基礎。容器技術主要作用是隔離,通過對系統的關鍵資源的隔離,實現了主機抽象。Kubernetes平臺則是在抽象主機的基礎上,實現了集群抽象。
用一句話做個總結,就是:
容器,提供應用級的系統抽象;Kubernetes,提供應用級的集群抽象。
小結
一篇短文,希望可以幫到還徘徊在Kubernetes大門之外的初學者。當然,新版本Kubernetes已經非常容易安裝了。
-
APP
+關注
關注
33文章
1574瀏覽量
72548 -
Docker
+關注
關注
0文章
472瀏覽量
11865
發布評論請先 登錄
相關推薦
評論