火山引擎彈性容器執行個體:從節點中心轉型 Serverless 化架構的利器

WBOY
發布: 2024-03-01 20:04:19
轉載
494 人瀏覽過

隨著 Kubernetes 和容器技術的日益成熟,越來越多企業正開始將他們的業務應用程式遷移到雲端。透過採用雲端原生架構,這些企業可以更好地支援業務的高速發展和穩定運作。

而隨著雲端運算朝向開發流程縱深發展,Serverless 架構的成熟讓雲端原生技術進入全新階段-Serverless 把公有雲彈性伸縮、免運維、快速接取等特性發揮到了極致,大大降低了用戶的使用成本,讓用戶和企業只需要專注於其業務邏輯,實現真正意義上的敏捷開發。

為了更好地支援企業在業務應用中實現Serverless 化的新型雲原生理念,火山引擎雲原生團隊正在全面升級和創新產品,涵蓋了理念、系統設計和架構設計等多個方面。他們致力於充分發揮 Serverless 技術的優勢和價值,以幫助企業更有效率地運行業務應用。

從節點中心到 Serverless #化架構

傳統的Kubernetes 架構通常以節點為核心,意味著團隊需要在雲端伺服器等資源節點上建立集群,並圍繞這些節點進行運維管理。傳統的 Kubernetes 叢集架構需要在不同節點上管理容器應用的部署、監控和維護,這種方式需要更多的人力和時間投入來維護整個叢集的穩定性和可靠性。然而,隨著技術的發展,出現了一種新型的 Kubernetes 架構,即基於服務網格的架構。在基於服務網格的架構中,網路功能被抽象化出來,並且透過專門的服務網格元件進行統合

隨著業務規模的擴大和節點數的增加,這種架構在容器應用的部署和運行方面通常會面臨一些挑戰,主要包括以下幾個方面:

  • 節點運維複雜:使用者需要自行管理和維護節點,具體包括節點的配置與初始化、作業系統更新與升級、安全管理、運作監控與日誌擷取分析、故障復原、網路管理、儲存管理、擴縮容、資源規劃與分配,以及資源成本管理等複雜且繁瑣的節點運作工作;
  • 資源利用率低:節點預留固定資源,即便實際工作負載所需資源量較少,也無法降低節點資源佔用;節點資源碎片率較高,分佈在各節點之上的部分未使用的資源難以被有效聚合,無法充分利用;資源過度分配,為了避免效能瓶頸,往往傾向於依照最大負載規劃資源,難以預測實際需求,可能造成大量資源閒置;
  • 資源擴容速度慢:容器應用程式可能會經歷突發流量,需要快速擴展以回應增加的負載。在傳統以節點為中心的架構中,運算資源的擴充往往需要建立和配置新的雲端伺服器節點,這個過程可能需要幾分鐘,無法實現即時擴展。

火山引擎彈性容器實例(Volcengine Container Instance,簡稱 VCI)是針對上述情況推出的新型雲端原生方案,它抽象自字節跳動內部多年雲端原生技術積累,是一種 Serverless 和容器化的計算服務——

通過Virtual Kubelet技術與火山引擎容器服務VKE緊密結合,彈性容器實例VCI可以為用戶提供靈活的計算和Kubernetes編排功能,支持快速啟動、高並發建立以及安全的沙箱容器隔離。

透過融合 Serverless 和容器的優勢,彈性容器實例 VCI 能為企業提供一個高效、可靠且安全的運作環境,使用戶能夠專注於開發和運行雲端原生架構的應用程序,而無需關心底層基礎設施的管理和維護,並且僅為業務實際運作所需的資源付費,幫助企業更合理地控制用雲成本。

基礎設施免運維、運算資源免規劃

在傳統自建 Kubernetes 叢集的架構中,無論是控制平面或資料平面,作為容器組 Pod運作的載體,節點都位於 Kubernetes 架構的核心位置,當節點運算資源不足時,需要先透過增加節點來補充運算資源,才能支援業務工作負載的部署或擴容。

在雲端上,以火山引擎容器服務 VKE 為代表的各類託管 Kubernetes 服務會取代用戶管理和維運 Kubernetes 控制平面,提供具有 SLA 保障的託管服務。而對於運行用戶實際業務工作負載的資料平面而言,則通常需要用戶自行運維工作節點,並需要根據業務特徵對節點所提供的計算資源進行提前規劃,如在業務高峰需要進行提前擴容,在業務低谷則需要縮容。

因此,在傳統以節點為核心的 Kubernetes 架構中,節點運維往往需要耗費技術團隊大量精力;同時,如何平衡資源超前規劃與資源成本問題,也成為企業進入「精細化用雲」時代後不得不思考的問題。

彈性容器執行個體 VCI 提供了 Serverless 和容器化的運算服務,每個 VCI 只會為單一 Pod 提供運作環境和運算資源,使用者無需關心底層節點的運維和容量規劃,只需要依照需部署容器應用程式即可。而在使用 VCI 部署容器應用時,可以使用原生的 Kubernetes 語義,與節點中心的架構並無差異。

在資源層面,彈性容器實例 VCI 以火山引擎運算基礎架構作為資源池,提供多種資源類型的容器運算資源,方便使用者依業務需求彈性選擇。同時,使用者也不需要關注資源容量規劃問題,VCI 提供大量運算資源,不會出現傳統節點中心架構下常見的 Pod 漂移(Drift)與重調度(Rescheduling)等現象,而進一步造成服務中斷、效能波動、數據不一致、調度延遲等問題。

最後,容器服務 VKE 與彈性容器實例 VCI 的無縫集成,不僅實現了 Kubernetes 叢集控制平面全託管,同時也為使用者提供了資料平面(即彈性容器實例 VCI)的 Serverless 化全託管、免運維、安全隔離,大大降低用戶在 Kubernetes 基礎設施上的維運成本,並且省去了容量規劃的複雜性,從而使用戶可以將更多精力聚焦於自身業務應用。

極致彈性,所需即所得

彈得省

根據 Flexera 在《2022 年雲狀態報告》揭露的調查數據,受訪企業自評估雲端成本浪費達 32%,「成本」已連續三年成為企業最關注的用雲挑戰之一——「精細化用雲」開始得到越來越多企業的重視,如何在滿足業務發展需求的同時節省雲端成本開銷,成為企業用雲端所需解決的重要挑戰。

彈性容器實例 VCI 在產品設計之初就圍繞企業「雲端成本控制」的需求,強調依照實際使用資源量精細化計費,支援多種計費模式,助力企業真正用好雲。

精進計費:彈性容器執行個體 VCI 依照使用者容器群組(Pod)實際使用的資源計費,計費資源包括 vCPU、記憶體、GPU 等。同時 VCI 實例的計費時長為其運行時長,即用戶 Pod 從下載容器鏡像開始到停止運行為止所使用的時間,精確到秒級,真正實現了按實際用量計費。

提升裝箱率:在雲端原生架構下,相較於傳統運算資源,彈性容器執行個體的另一個優點是減少閒置資源、提升裝箱率,進而降低用戶的計算資源使用成本。具體而言,Kubernetes 叢集使用雲端伺服器 ECS 作為工作節點時,需要在節點上執行 Kubernetes 所需的系統元件,因此需要預留部分運算資源,存在一定額外成本;而若使用彈性容器實例 VCI 作為運算資源,則只需為業務 Pod 實際使用資源付費:

  • 範例:執行 3 個業務 Pod,其對於 vCPU 的資源需求分為 16C、8C、8C
  • 使用 ECS:至少需要 2 台 32C vCPU 的 ECS 節點(每個節點為系統預留資源)
  • 使用 VCI:建立 3 個與 Pod 所需資源相等的 VCI 實例,即 32 C 運算資源(無任何資源閒置)

火山引擎弹性容器实例:从节点中心转型 Serverless 化架构的利器

##豐富計費方式

:目前彈性容器實例 VCI 已正式支援按量計費,並將上線搶佔式實例(Spot)付費模式的邀測活動,同時預留實例、彈性預約實例等預付費模式也有計畫支援。透過提供多種付費模式,我們希望能協助用戶進一步優化運算資源的成本管理與預算編制,針對不同業務場景選用不同付費模式,以便更能協調業務資源需求與用雲成本規劃。

彈得出#######

彈性容器實例 VCI 充分整合了火山引擎的運算資源基礎設施進行算力供給,並且根據不同的底層硬體能力提供了多種實例規格族供用戶選擇,提供差異化的計算、存儲、網絡性能,支援涵蓋多種業務應用程式和服務場景。

CPU 一般型規格族:如一般算力型 u1、一般型 n3i 等,提供了均衡的 vCPU、記憶體、網路能力,可以滿足大多數情境下的服務需求。

GPU 計算型規格族:如 GPU 計算型 gni2(搭載 NVIDIA A10 GPU 顯示卡)、GPU 計算卡)等,運算型 NVIDIA V100可在大模型訓練、文字與影像產生、任務推理等各類 AI 計算類場景下提供高性價比使用體驗。

最新推出的通用算力型 u1 實例規格族依托火山引擎資源池化技術與智慧調度演算法進行動態資源管理,能夠為企業提供穩定的算力供應,並且支援多種處理器以及處理器記憶體的靈活配比,從 0.25C-0.5Gi、0.5C-1Gi、1C-2Gi 等細粒度小規格到 24C-48Gi 、32C-256Gi 等大規格可供任意選擇,具有極高的性價比!

背靠龐大的算力資源供給,彈性容器實例 VCI 也為使用者提供了業界領先的彈性資源優先權調度策略:結合容器服務 VKE,我們支援使用者透過自定義資源策略(ResourcePolicy)將彈性調度到雲端伺服器 ECS、彈性容器實例 VCI 等不同類型算力資源池,並根據實際業務場景依照百分比閾值、優先權控制等策略進行排程分配。

這表示使用者可以將雲端伺服器 ECS 算力資源池和彈性容器執行個體 VCI 算力資源池結合使用,並享有海量火山引擎運算資源;同時,結合容器叢集中的 Cluster Autoscaler 能力和 VCI ,即便容器叢集未事先申請運算資源,使用者也能夠及時獲得彈性資源高效支撐業務應用。

彈得快

面對線上業務不可預測的業務流量洪峰,確保業務運作穩定與用戶體驗至關重要;在業務發展的關鍵時刻,快速彈出運算資源與快速啟用業務應用程式也非常關鍵。彈性容器實例同樣天然適配這些場景。

火山引擎弹性容器实例:从节点中心转型 Serverless 化架构的利器

一方面,火山引擎彈性容器實例(VCI)的彈性能力可滿足分鐘級數萬核心 vCPU 運算資源的需求,保證在業務需要時,快速彈出充足運算資源。當流量洪峰結束,業務工作負載降低時亦可迅速釋放彈性運算資源,讓用雲端成本更節省。

另一方面,容器鏡像拉取的耗時往往較長,這點在大規模 Pod 並發啟動的情況下更加嚴重。彈性容器實例 VCI 不僅具備 VKE 提供的多種容器鏡像加速能力,如容器鏡像延遲載入(鏡像懶載入)、P2P 容器鏡像分發等,也擁有容器鏡像快取能力這樣的特有加速能力,根據實際測試數據,容器鏡像快取可使容器鏡像(資料量在百 G 以內)的 Pod 的整體啟動耗時控制在十秒級別,幫助使用者大幅提升效率、降低雲端成本。

結論

自 2022 年正式上線以來,彈性容器實例 VCI 服務了許多中型企業客戶,並在字節跳動內外業務場景中得到了充分的實踐檢驗。火山引擎雲端原生團隊也基於客戶服務經驗,不斷打磨產品能力,持續提升產品服務的品質與穩定性:

  • 在生態整合方面,彈性容器實例 VCI 不僅持續增強與 Kubernetes 生態的集成,能夠與火山引擎容器服務 VKE 無縫集成,使客戶能夠更容易地在雲端原生環境中部署和管理容器應用;
  • 在分散式容器鏡像啟動加速方面,VCI 與火山引擎鏡像倉庫 CR 等產品協同改善 Dragonfly 架構,進一步增強了鏡像分發到 VCI 中的效率與可靠性;
  • VCI 所特有的容器鏡像快取加速能力,更好地解決了大規模並發、大型容器鏡像場景下的 Pod 啟動速度慢與鏡像拉取成功率低等問題,減輕鏡像倉庫壓力;
  • 在運算資源規格的多樣性方面,VCI 在 2023 年推出了更多的選用資源,如基於火山引擎自研 DPU 全卸載架構的全新通用計算型實例 n3i,屏蔽後端伺服器差異,理論具有無限資源池的通用算力型實例 u1 等。

火山引擎雲原生團隊主要負責火山引擎公有雲及私有化場景中 PaaS 類產品體系的構建,結合字節跳動多年的雲原生技術棧經驗和最佳實踐沉澱,幫助企業加速數位轉型和創新。產品包括容器服務、鏡像倉庫、分散式雲端原生平台、函數服務、服務網格、持續交付、可觀測服務等。

面向2024 年,彈性容器執行個體VCI 將持續在Serverless Kubernetes 產品架構與形態下持續精進與探索,為內部與更多客戶提供基礎架構免運維、運算資源免規劃、極致彈性的Serverless 容器化產品與服務,能夠更好地支援客戶在AIGC、生信科學運算、社交電商等業務場景的多種GPU 和CPU 的算力需求。

以上是火山引擎彈性容器執行個體:從節點中心轉型 Serverless 化架構的利器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:jiqizhixin.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!