首頁 > 曲藝

Kubernetes,IT行業的攪屎棍

作者:由 唐門瀟瀟 發表于 曲藝日期:2023-01-28

db是怎麼計算的

IT 行業一直以來都是由新技術驅動的。kubernetes 是軟體領城近幾年最具創新的容器技術,涵蓋了架構、研發、部署、運維等系列軟體開發流程,不僅對網際網路公司的產品產生了極大影響,而且對傳統行業的IT技術產生了強烈的衝擊。基於 kubernetes 的新一代容器架構已成為網際網路產品及大規模系統的首選方案。

如今,數百家廠商和技術社群共同構建了非常強大的雲原生生態,市面上兒乎所有提

供雲基礎設施的公司都以原生形式將 kubernetes 作為底層平臺,可以預見,會有大量的新系統逝擇 kubernetes,不論這些新系統是執行在企業的本地伺服器上,還是被託管到公有云上。阿里雲容器服務 kubernetes 版 ACK( Alibaba Cloud Container Service for Kubernetes)是全球首批透過 kubernetes 一致性認證的服務平臺。據公開資料,截至 2020 年,在阿里雲的 ACK 上,已經執行著上萬個使用者的 kubernetes 叢集。

而騰訊自研的TKEx 容器平臺的底層也使用了 kubernetes 原生技術,服務於騰訊的各種業務系統,包括騰訊會議、騰訊課堂、QQ 及騰訊看點等,目前這些業務已執行的Kubernetes 叢集規模達到幾百萬 CPU核數。

Kubernetes,IT行業的攪屎棍

百度雲容器引警 (Cloud Container Engine) 也採用 kubernetes 作為容器叢集管理系統,於 2019年年底也得到了雲原生計算基金會的官方認證,而在更早的 2018年,百度的深度學習平臺 PaddlePaddle 也宣佈支援 kubernetes,並在當年成為 Kubernetes 官方唯一支援的深度學習框架。

華為早在 kubernetes 剛開源時就以社群創始成員及白金會員的身份加人其中,華為雲的容器引擎(CCE)也基於 kubernetes 實現,同時補齊了完整的應用開發、交付與運維流程,為客戶提供完整的一站式雲上應用生命週期管理方案。

Kubernetes,IT行業的攪屎棍

使用 kubernetes 會收穫哪些好處呢?

首先,可以“輕裝上陣”地開發複雜系統。以前需要很多人,一起分工協作才能設計、實現和運維的分散式系統,在採用 kubernetes 解決方案之後,只需一個精悍的小團隊就能輕鬆應對。在這個團隊裡,只需一名架構師負責系統中服務元件的架構設計,幾名開發工程師負責業務程式碼的開發,一名系統兼運維工程師負責 kubernetes的部署和運維,因為 Kubernetes 已經幫我們做了很多。

其次,可以全面擁抱以微服務架構為核心思想的新一代容器技術的領先架構,包括基

礎的微服務架構,以及增強的微服務架構(如服務網格、無伺服器架構等)。微服務架構的核心是將—個巨大的單體應用分解為很多小的相互連線的微服務,一個微服務可能由多個例項副本支撐,副本的數量可以隨著系統的負荷變化進行調整。微服務架構使得每個服務都可以獨立開發、升級和擴充套件,因此係統具備很高的穩定性和快速達代能力,開發者也可以自由選擇開發技術。谷歌、亞馬遜、eBay等大型網際網路公司都採用了微服務架構,谷歌更是將微服務架構的基礎設施直接打包到kubernetes 解決方案中,讓我們可以直接應用微服務架構解決複雜業務系統的架構問題。

或者可以隨時隨地將系統整體“搬遷”到公有云上。kubernetes 最初的設計目標就是讓使用者的應用執行在谷歌自家的公有云 GCE 中,華為雲(CCE)、阿里雲(ACK)和騰訊雲(TKE)全部支援 kubernetes 叢集,未來會有更多的公有云及私有云支援 kubernetes。

除了公有云,私有云也大量採用kubernetes 架構。在私有云與公有云融合的混合雲領域,kubernetes 也大顯身手。在kubernetes 和容器技術誕生之前,要實現多雲和混合雲是很困難的,應用開發商需要針對每個雲服務商進行定製化開發,導致遷移雲服務商時從基礎架構到應用程式層面都需要做出相應的改動和適配。有了kubernetes 之後,使用者本地的私有云(資料中心)可以與雲服務商的 Kubernetes 叢集保持一致的介面,這樣應用程式在大部分情況下就不需要與具體的雲服務商直接綁定了。

Kubernetes,IT行業的攪屎棍

然後,kubernetes 內建的服務彈性擴容機制可以讓我們輕鬆應對突發流量。在服務高

峰期,我們可以選擇在公有云中快速擴容某些 Service 的例項副本 以提升系統的吞吐量,這樣不僅節省了公司的硬體投人,還大大改善了使用者體驗。中國鐵路總公司的 12306購票系統,在客流高峰期(如節假日)就租用了阿里雲進行分流。

網際網路公司來說,使用者規模等價於資產,因此橫向擴容能力是衡量網際網路業務系統競爭力的關鍵指標。我們利用 kubernetes 提供的工具,不用修改程式碼,就能將一個 kubernetes叢集從只包含幾個 Node 的小叢集平滑擴充套件到擁有上百個 Node 的大叢集,甚至可以線上完成叢集擴容。只要微服務架構設計的合理,能夠在多個雲環境中進行彈性伸縮,系統就能夠承受大量使用者併發訪問帶來的巨大壓力。