“一千個(gè)讀者眼里有一千個(gè)哈姆雷特”。同樣的話也適用于 Kubernetes,同樣的系統(tǒng)在不同的開(kāi)發(fā)人員眼中也是不同的,甚至在不同階段對(duì)于它的理解也截然不同。
在尚未開(kāi)始使用Kubernetes之前,我認(rèn)為它是一套非常復(fù)雜的系統(tǒng),各種抽象概念以及復(fù)雜的安裝過(guò)程。差點(diǎn)因?yàn)榘惭b不順,打算就此放棄。理由很簡(jiǎn)單:既然有了 Docker,為什么還要 Kubernetes?
之所以覺(jué)得Kubernetes系統(tǒng)復(fù)雜、難,關(guān)鍵是不知道它到底是干啥的?再加上老版本繁瑣的安裝過(guò)程,愿意啃它是需要一點(diǎn)毅力的。現(xiàn)在,就通過(guò)一張簡(jiǎn)單的對(duì)比圖告訴你,它到底干了啥!
單看圖示上部分,發(fā)生的變化僅僅是HOST換成了POD,底層網(wǎng)絡(luò)由真實(shí)網(wǎng)絡(luò)換成了覆蓋網(wǎng)絡(luò),即虛擬網(wǎng)絡(luò)。對(duì)于APP應(yīng)用開(kāi)發(fā)者而言, 即使你完全不懂容器技術(shù)也沒(méi)關(guān)系.這是Kubernetes的厲害之處,它提供的抽象層對(duì)于APP應(yīng)用開(kāi)發(fā)者而言是完全透明的。應(yīng)用在POD中和在HOST主機(jī)上并沒(méi)有本質(zhì)區(qū)別。
還是老問(wèn)題:既然有了 Docker,為什么還要 Kubernetes?
回答這個(gè)問(wèn)題,得從為什么需要引入Docker這個(gè)問(wèn)題先開(kāi)始。你會(huì)說(shuō),因?yàn)樾枰萜骰渴稹D菫槭裁葱枰萜骰渴鹉兀烤瓦@個(gè)問(wèn)題還可以走得更遠(yuǎn)一點(diǎn)。這里我就偷懶了,先打住。看看容器化部署后出現(xiàn)的新問(wèn)題,即容器實(shí)例越來(lái)越多。因?yàn)槿萜鲗?shí)例越來(lái)越多,就像雞蛋太多需要一個(gè)籃子來(lái)裝一樣,Kubernetes就是那個(gè)籃子。當(dāng)然這不是一個(gè)簡(jiǎn)單的籃子,此處也不擴(kuò)展了。
標(biāo)準(zhǔn)答案就是:因?yàn)橛辛?Docker,所以才要Kubernetes。是不是感覺(jué)進(jìn)入一個(gè)loop,我也這感覺(jué)。
從圖中也可以看出,Docker容器技術(shù)是Kubernetes平臺(tái)的基礎(chǔ)。容器技術(shù)主要作用是隔離,通過(guò)對(duì)系統(tǒng)的關(guān)鍵資源的隔離,實(shí)現(xiàn)了主機(jī)抽象。Kubernetes平臺(tái)則是在抽象主機(jī)的基礎(chǔ)上,實(shí)現(xiàn)了集群抽象。
用一句話做個(gè)總結(jié),就是:
容器,提供應(yīng)用級(jí)的系統(tǒng)抽象;Kubernetes,提供應(yīng)用級(jí)的集群抽象。
小結(jié)
一篇短文,希望可以幫到還徘徊在Kubernetes大門(mén)之外的初學(xué)者。當(dāng)然,新版本Kubernetes已經(jīng)非常容易安裝了。
-
APP
+關(guān)注
關(guān)注
33文章
1569瀏覽量
72384 -
Docker
+關(guān)注
關(guān)注
0文章
455瀏覽量
11818
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論