- Kubernetes權(quán)威指南:從Docker到Kubernetes實踐全接觸(第4版)
- 龔正等編著
- 1289字
- 2019-09-23 11:04:26
1.2 為什么要用Kubernetes
使用Kubernetes的理由很多,最重要的理由是,IT行業(yè)從來都是由新技術(shù)驅(qū)動的。
當(dāng)前,Docker這門容器化技術(shù)已經(jīng)被很多公司采用,從單機(jī)走向集群已成為必然,云計算的蓬勃發(fā)展正在加速這一進(jìn)程。Kubernetes作為當(dāng)前被業(yè)界廣泛認(rèn)可和看好的基于Docker的大規(guī)模容器化分布式系統(tǒng)解決方案,得到了以谷歌為首的IT巨頭們的大力宣傳和持續(xù)推進(jìn)。
2015年,谷歌聯(lián)合20多家公司一起建立了CNCF(Cloud Native Computing Foundation,云原生計算基金會)開源組織來推廣Kubernetes,并由此開創(chuàng)了云原生應(yīng)用(Cloud Native Application)的新時代。作為CNCF“欽定”的官方云原生平臺,Kubernetes正在顛覆應(yīng)用程序的開發(fā)方式。
如今,數(shù)百家廠商和技術(shù)社區(qū)共同構(gòu)建了非常強(qiáng)大的云原生生態(tài),市面上幾乎所有提供云基礎(chǔ)設(shè)施的公司都以原生形式將Kubernetes作為底層平臺,可以預(yù)見,會有大量的新系統(tǒng)選擇Kubernetes,不論這些新系統(tǒng)是運行在企業(yè)的本地服務(wù)器上,還是被托管到公有云上。
使用Kubernetes會收獲哪些好處呢?
首先,可以“輕裝上陣”地開發(fā)復(fù)雜系統(tǒng)。以前需要很多人(其中不乏技術(shù)達(dá)人)一起分工協(xié)作才能設(shè)計、實現(xiàn)和運維的分布式系統(tǒng),在采用Kubernetes解決方案之后,只需一個精悍的小團(tuán)隊就能輕松應(yīng)對。在這個團(tuán)隊里,只需一名架構(gòu)師負(fù)責(zé)系統(tǒng)中服務(wù)組件的架構(gòu)設(shè)計,幾名開發(fā)工程師負(fù)責(zé)業(yè)務(wù)代碼的開發(fā),一名系統(tǒng)兼運維工程師負(fù)責(zé)Kubernetes的部署和運維,因為Kubernetes已經(jīng)幫我們做了很多。
其次,可以全面擁抱微服務(wù)架構(gòu)。微服務(wù)架構(gòu)的核心是將一個巨大的單體應(yīng)用分解為很多小的互相連接的微服務(wù),一個微服務(wù)可能由多個實例副本支撐,副本的數(shù)量可以隨著系統(tǒng)的負(fù)荷變化進(jìn)行調(diào)整。微服務(wù)架構(gòu)使得每個服務(wù)都可以獨立開發(fā)、升級和擴(kuò)展,因此系統(tǒng)具備很高的穩(wěn)定性和快速迭代能力,開發(fā)者也可以自由選擇開發(fā)技術(shù)。谷歌、亞馬遜、eBay、Netflix等大型互聯(lián)網(wǎng)公司都采用了微服務(wù)架構(gòu),谷歌更是將微服務(wù)架構(gòu)的基礎(chǔ)設(shè)施直接打包到Kubernetes解決方案中,讓我們可以直接應(yīng)用微服務(wù)架構(gòu)解決復(fù)雜業(yè)務(wù)系統(tǒng)的架構(gòu)問題。
再次,可以隨時隨地將系統(tǒng)整體“搬遷”到公有云上。Kubernetes最初的設(shè)計目標(biāo)就是讓用戶的應(yīng)用運行在谷歌自家的公有云GCE中,華為云(CCE)、阿里云(ACK)和騰訊云(TKE)先后宣布支持Kubernetes集群,未來會有更多的公有云及私有云支持Kubernetes。同時,在Kubernetes的架構(gòu)方案中完全屏蔽了底層網(wǎng)絡(luò)的細(xì)節(jié),基于Service的虛擬IP地址(Cluster IP)的設(shè)計思路讓架構(gòu)與底層的硬件拓?fù)錈o關(guān),我們無須改變運行期的配置文件,就能將系統(tǒng)從現(xiàn)有的物理機(jī)環(huán)境無縫遷移到公有云上。
然后,Kubernetes內(nèi)在的服務(wù)彈性擴(kuò)容機(jī)制可以讓我們輕松應(yīng)對突發(fā)流量。在服務(wù)高峰期,我們可以選擇在公有云中快速擴(kuò)容某些Service的實例副本以提升系統(tǒng)的吞吐量,這樣不僅節(jié)省了公司的硬件投入,還大大改善了用戶體驗。中國鐵路總公司的12306購票系統(tǒng),在客流高峰期(如節(jié)假日)就租用了阿里云進(jìn)行分流。
最后,Kubernetes系統(tǒng)架構(gòu)超強(qiáng)的橫向擴(kuò)容能力可以讓我們的競爭力大大提升。對于互聯(lián)網(wǎng)公司來說,用戶規(guī)模等價于資產(chǎn),因此橫向擴(kuò)容能力是衡量互聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)競爭力的關(guān)鍵指標(biāo)。我們利用Kubernetes提供的工具,不用修改代碼,就能將一個Kubernetes集群從只包含幾個Node的小集群平滑擴(kuò)展到擁有上百個Node的大集群,甚至可以在線完成集群擴(kuò)容。只要微服務(wù)架構(gòu)設(shè)計得合理,能夠在多個云環(huán)境中進(jìn)行彈性伸縮,系統(tǒng)就能夠承受大量用戶并發(fā)訪問帶來的巨大壓力。
- 大學(xué)生計算機(jī)應(yīng)用基礎(chǔ)
- ADuC 7026原理與應(yīng)用
- RISC-V開放架構(gòu)設(shè)計之道
- 一書讀懂物聯(lián)網(wǎng):基礎(chǔ)知識+運行機(jī)制+工程實現(xiàn)
- 網(wǎng)絡(luò)演算:互聯(lián)網(wǎng)確定性排隊系統(tǒng)理論
- 人工智能數(shù)學(xué)基礎(chǔ)
- 計算機(jī)應(yīng)用基礎(chǔ)
- 計算機(jī)文化基礎(chǔ)
- Protel 99SE常用功能與應(yīng)用實例精講
- 計算機(jī)應(yīng)用基礎(chǔ)項目化教程實訓(xùn)指導(dǎo)
- 未來版圖:全球聰明公司的科技創(chuàng)新趨勢和商業(yè)化路徑
- 暢聊科技:寫給大眾的信息技術(shù)小史(第2版)
- Android高薪之路:Android程序員面試寶典
- 圖像處理與計算機(jī)視覺實踐:基于OpenCV和Python
- VMware、Citrix和Microsoft虛擬化技術(shù)詳解與應(yīng)用實踐