Kubernetes 憑什么這么牛?
大家好,我是杰哥。
大名鼎鼎的Kubernetes,想必大家都不陌生,它是軟件領域近幾年來最具創(chuàng)新的容器技術。
新技術有很多,為什么偏偏Kubernetes這么牛?
本文就從“為什么要用Kubernetes”及“使用Kubernetes會收獲哪些好處”兩方面來回答一下這個問題。
為什么要用Kubernetes?
使用Kubernetes的理由很多,最重要的理由是,IT行業(yè)從來都是由新技術驅(qū)動的。
Kubernetes涵蓋了架構、研發(fā)、部署、運維等全系列軟件開發(fā)流程,不僅對互聯(lián)網(wǎng)公司的產(chǎn)品產(chǎn)生了極大影響,也對傳統(tǒng)行業(yè)的IT技術產(chǎn)生了越來越強的沖擊。
基于Kubernetes的新一代容器架構已成為互聯(lián)網(wǎng)產(chǎn)品及大規(guī)模系統(tǒng)的必選方案。2020年3月,虛擬化技術巨頭VMware發(fā)布了使用Kubernetes重新打造的全新vSphere 7,向全球宣告了其擁抱Kubernetes的決心,堪稱虛擬化技術十年來最大的一次演進。
vSphere 7通過底層重構,使得用戶能夠以ESXi管理VM虛擬機的方式來運用Kubernetes的能力。
毫無疑問,VMware的這一舉動將對IT行業(yè)帶來重大影響,也宣告了以Kubernetes為核心的容器技術取代、融合虛擬機技術的時代正在加速到來。
如今,數(shù)百家廠商和技術社區(qū)共同構建了非常強大的云原生生態(tài),市面上幾乎所有提供云基礎設施的公司都以原生形式將Kubernetes作為底層平臺,可以預見,會有大量的新系統(tǒng)選擇Kubernetes,不論這些新系統(tǒng)是運行在企業(yè)的本地服務器上,還是被托管到公有云上。
阿里云容器服務Kubernetes版ACK(Alibaba Cloud Container Service for Kubernetes)是全球首批通過Kubernetes一致性認證的服務平臺。
據(jù)公開資料,截至2020年,在阿里云的ACK上,已經(jīng)運行著上萬個用戶的Kubernetes集群。
而騰訊自研的TKEx容器平臺的底層也使用了Kubernetes原生技術,服務于騰訊的各種業(yè)務系統(tǒng),包括騰訊會議、騰訊課堂、QQ及騰訊看點等,目前這些業(yè)務已運行的Kubernetes集群規(guī)模達到幾百萬CPU核數(shù)。
百度云容器引擎(Cloud Container Engine)也采用Kubernetes作為容器集群管理系統(tǒng),于2019年年底也得到了云原生計算基金會的官方認證,而在更早的2018年,百度的深度學習平臺PaddlePaddle也宣布支持Kubernetes,并在當年成為Kubernetes官方唯一支持的深度學習框架。
華為早在Kubernetes剛開源時就以社區(qū)創(chuàng)始成員及白金會員的身份加入其中,華為云的容器引擎(CCE)也基于Kubernetes實現(xiàn),同時補齊了完整的應用開發(fā)、交付與運維流程,為客戶提供完整的一站式云上應用生命周期管理方案。
使用Kubernetes有哪些好處?
首先,可以“輕裝上陣”地開發(fā)復雜系統(tǒng)。
以前需要很多人(其中不乏技術達人)一起分工協(xié)作才能設計、實現(xiàn)和運維的分布式系統(tǒng),在采用Kubernetes解決方案之后,只需一個精悍的小團隊就能輕松應對。
在這個團隊里,只需一名架構師負責系統(tǒng)中服務組件的架構設計,幾名開發(fā)工程師負責業(yè)務代碼的開發(fā),一名系統(tǒng)兼運維工程師負責Kubernetes的部署和運維,因為Kubernetes已經(jīng)幫我們做了很多。
其次,可以全面擁抱以微服務架構為核心思想的新一代容器技術的領先架構,包括基礎的微服務架構,以及增強的微服務架構(如服務網(wǎng)格、無服務器架構等)。
微服務架構的核心是將一個巨大的單體應用分解為很多小的相互連接的微服務,一個微服務可能由多個實例副本支撐,副本的數(shù)量可以隨著系統(tǒng)的負荷變化進行調(diào)整。
微服務架構使得每個服務都可以獨立開發(fā)、升級和擴展,因此系統(tǒng)具備很高的穩(wěn)定性和快速迭代能力,開發(fā)者也可以自由選擇開發(fā)技術。
谷歌、亞馬遜、eBay、Netflix等大型互聯(lián)網(wǎng)公司都采用了微服務架構,谷歌更是將微服務架構的基礎設施直接打包到Kubernetes解決方案中,讓我們可以直接應用微服務架構解決復雜業(yè)務系統(tǒng)的架構問題。
再次,可以隨時隨地將系統(tǒng)整體“搬遷”到公有云上。
Kubernetes最初的設計目標就是讓用戶的應用運行在谷歌自家的公有云GCE中,華為云(CCE)、阿里云(ACK)和騰訊云(TKE)全部支持Kubernetes集群,未來會有更多的公有云及私有云支持Kubernetes。
除了公有云,私有云也大量采用Kubernetes架構。在私有云與公有云融合的混合云領域,Kubernetes也大顯身手。
在Kubernetes 和容器技術誕生之前,要實現(xiàn)多云和混合云是很困難的,應用開發(fā)商需要針對每個云服務商進行定制化開發(fā),導致遷移云服務商時從基礎架構到應用程序?qū)用娑夹枰龀鱿鄳母膭雍瓦m配。
有了Kubernetes之后,用戶本地的私有云(數(shù)據(jù)中心)可以與云服務商的Kubernetes集群保持一致的接口,這樣應用程序在大部分情況下就不需要與具體的云服務商直接綁定了。
然后,Kubernetes內(nèi)建的服務彈性擴容機制可以讓我們輕松應對突發(fā)流量。
在服務高峰期,我們可以選擇在公有云中快速擴容某些Service的實例副本以提升系統(tǒng)的吞吐量,這樣不僅節(jié)省了公司的硬件投入,還大大改善了用戶體驗。
中國鐵路總公司的12306購票系統(tǒng),在客流高峰期(如節(jié)假日)就租用了阿里云進行分流。
最后,Kubernetes系統(tǒng)架構超強的橫向擴容能力可以讓我們的競爭力大大提升。
對于互聯(lián)網(wǎng)公司來說,用戶規(guī)模等價于資產(chǎn),因此橫向擴容能力是衡量互聯(lián)網(wǎng)業(yè)務系統(tǒng)競爭力的關鍵指標。
我們利用Kubernetes提供的工具,不用修改代碼,就能將一個Kubernetes集群從只包含幾個Node的小集群平滑擴展到擁有上百個Node的大集群,甚至可以在線完成集群擴容。
只要微服務架構設計得合理,能夠在多個云環(huán)境中進行彈性伸縮,系統(tǒng)就能夠承受大量用戶并發(fā)訪問帶來的巨大壓力。
這些年,Kubernetes高速發(fā)展,先后發(fā)布了十幾個大版本,每個版本都帶來了大量的新特性,能夠處理的應用場景也越來越豐富。
現(xiàn)在,Kubernetes已經(jīng)成為軟件基礎設施領域中耀眼的明星項目,在GitHub上已有超過兩萬名開源志愿者參與此項目,成為開源歷史上發(fā)展速度超快的項目之一。
如果你還沒有開始學習它,或者還沒有系統(tǒng)全面地了解它,那就未免有些遺憾了。
《Kubernetes權威指南》作為Kubernetes經(jīng)典手冊與“常青樹”,是業(yè)內(nèi)人手一本的圣經(jīng)級著作,如今,它已升級到第5版,并更新了Kubernetes 1.19的內(nèi)容,這對Kubernetes學習者和使用者來說是個好消息,非常適合大家用來進行系統(tǒng)的學習。
不論你是剛踏入云原生領域的初學者,還是云計算領域的老兵,都能從中受益匪淺。
贈書規(guī)則: 為本文「點贊」+ 「在看」 +「留言」且與文章內(nèi)容相關的優(yōu)質(zhì)留言即可上墻并從所有留言中選出點贊最多的前兩位讀者留言將各獲得一本。
截止時間: 2021年7月13日,晚 20:00
領書須知: 提供點贊和在看截圖
注意事項: 凡發(fā)現(xiàn)刷贊者一律取消資格,最終獲贈者請在24小時以內(nèi)添加我的微信,備注:贈書??
推薦閱讀

