雲宏大講壇 | 容器編排引擎Kubernetes的那些事兒

雲宏大講壇 | 容器編排引擎Kubernetes的那些事兒

原創:Higx

(Vol. 040)

雲宏大講壇
Vol. 040

在不久前《容器的前世今生》中,追求技術前沿的小夥伴對於容器技術的發展歷史已經抓住了脈絡。但對於容器編排引擎Kubernetes的概念,則瞭解得較爲模糊。那麼,Kubernetes究竟是什麼?

Kubernetes的希臘語意爲“舵手”,縮寫爲k8s。正所謂“大海航行靠舵手,容器運行靠編排”,Kubernetes的主要功能就是調度控制容器的一切。目前,Kubernetes已經成爲容器編排調度的實際標準。

Kubernetes來源於Google內部大規模容器集羣管理系統Borg的開源版本,目前迭代週期越來越快,變得越來越穩定易用。而Kubernetes如今大獲成功的原因,一是技術背景足夠堅實,二是CNCF(Cloud Native Computing Foundation,雲原生計算基金會)對其大力的推廣,三是架構的開放性使得Kubernetes可以迅速擴展出容器的基礎生態。目前基於Kubernetes及容器的周邊已經極其豐富,生態涵蓋了平臺、容器運行時、網絡、存儲、數據庫等等,而且組織還在不斷壯大中。

Kubernetes及容器周邊生態圖

所以,Kubernetes能夠做什麼,受到業內這麼多的追捧?

它是一個容器管理平臺,用於管理微服務架構,理論上它可以管理約300,000個容器。假如按一個微服務需要30個容器計算,那麼它可以編排管理1w個微服務應用。這種強大的性能,與其優秀的架構設計有關,其中關鍵點是其API設計屬於聲明式的。

Tips:
系統接口控制方式有“命令式”和“聲明式”兩種設計模式。
命令式設計,相當於獨攬所有權力,例如用戶要在10臺機上部署10個容器,它就一個個的親自去幹活去了。這樣的系統有着效率低下、單點故障、無法擴展等問題,隨着系統規劃擴大,問題會越來越嚴重,最後直到奔潰。
聲明式設計,相當一塊通告板,用戶把不同的任務寫在紙條貼在板上,然後號召一羣小夥伴來處理;他們分別處理完不同任務並在紙條上記錄結果,直到所有預期的結果全部完成。這樣的系統可用性高,即使部分任務缺失也不影響其它任務,而且工作效率更高。

Cloud computing概念圖

由於“貼在板上的紙”可以自定義(Kubernetes中的概念爲CRD),基於這個貼紙來工作的“小夥伴”可以隨時添加或更改(如加入不同能力的小夥伴協助處理),所以系統可以幹很多不同的活。如開源社區中很火的Operators列表,可以管理各種分佈式的服務應用,如nosql數據庫、分佈式中間件、人工智能等。通過operator把管理運維這些系統的經驗固化後,用戶可以更好地運維不同的分佈式應用。在這個列表裏,Android SDK的開發者們正在使用Operator“一鍵”生成和更新Android開發環境;而Linux系統工程師們則在使用Operator“一鍵”重現性能測試集羣,等等。

Kubernetes還能做什麼?在PaaS平臺,藉助其強大的容器編排能力和豐富的社區生態,在Kubernetes上構建的PaaS平臺成爲多數廠商的共識,雲原生應用得以在上面落實得很好。在邊緣計算方面,藉助其強大的分佈式微服務混合雲管理能力,在邊緣計算層解決了“最後一公里”雲原生應用的供應問題,成爲了雲計算在未來發展中的重要落地支撐,推進邊緣計算與雲計算的彼此融合,實現“邊雲協同”的新階段。

此外,Kubernetes社區是以SIG(Special Interest Group,特別興趣小組)和工作組的形式組織起來的,覆蓋了應用、大數據、Openstack、網絡、存儲等不同的領域,每個工作組都會定期召開會議討論技術及新功能,共同促進Kubernetes朝着不同興趣方向的發展。

如果各位小夥伴已經躍躍欲試想要試一試Kubernetes的功能,可以藉助於雲宏WinGarden容器雲平臺。WinGarden容器雲平臺爲管理多Kubernetes的企業級容器管理平臺,是專門針對企業級客戶設計的安全、穩定、易管理和運維的輕量級容器雲平臺,爲企業提供真正的雲原生應用管理架構,幫助企業建立彈性、可伸縮、快速迭代和靈活敏捷的應用架構。借WinGarden之力,你可以快速部署出一個集羣環境,然後....... Kubernetes嘿起來!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章