溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Serverless及OpenKruise 部署優(yōu)化的實例分析

發(fā)布時間:2021-12-16 11:49:09 來源:億速云 閱讀:163 作者:柒染 欄目:云計算

這期內容當中小編將會給大家?guī)碛嘘PServerless及OpenKruise 部署優(yōu)化的實例分析,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

項目背景

SAE 底層使用 Kubernetes 架構,使用神龍裸金屬安全容器、 ECI 兩種資源池,用戶在 SAE 中運行的應用會映射到 Kubernetes 中相應的資源。

通過采集線上全量 K8s 事件,整個 Pod 的創(chuàng)建生命周期進行分節(jié)點、分階段的耗時統(tǒng)計分析,以神龍節(jié)點為例,各階段比例如圖:

Serverless及OpenKruise 部署優(yōu)化的實例分析

從圖中可以看出,整個 pod 的創(chuàng)建生命周期包括調度,拉取并創(chuàng)建 init 容器,拉取用戶業(yè)務鏡像,創(chuàng)建和啟動容器等。其耗時主要集中在調度和拉取用戶鏡像上。究其原因在于 SAE 神龍節(jié)點調度鏈路整體耗時較長,而鏡像耗時主要在于拉取鏡像與解壓鏡像的時長,特別是在大容量鏡像部署的情況下尤為突出。

實施方案

SAE 團隊從長期架構規(guī)劃,使用場景通用性等多個方面進行方案調研分析, 考慮采用原地升級的部署策略代替重建升級策略,避免部署過程中重調度,減少整體耗時。

所謂原地升級,即只更新 Pod 中某一個或多個容器版本、而不影響整個 Pod 對象、其余容器的升級,而且在升級過程中保證 ip、node 不發(fā)生改變。在阿里巴巴內部,絕大部分電商應用在云原生環(huán)境都統(tǒng)一使用原地升級的方式做發(fā)布,這種原地升級的模式極大地提升了應用發(fā)布的效率,節(jié)省了調度,分配網(wǎng)絡,掛載磁盤以及拉取鏡像的耗時。通過分析線上 SAE 用戶歷史部署記錄,發(fā)現(xiàn)只更新鏡像/程序包部署應用的占大多數(shù),也就是說原地升級能力非常適合在 SAE 產(chǎn)品中落地。

Serverless及OpenKruise 部署優(yōu)化的實例分析

原地升級給 SAE 帶來的優(yōu)勢在于:

  • 避免重調度,避免 sidecar 容器重建,整個部署耗時只需要拉取和創(chuàng)建業(yè)務容器;

  • 無需調度,可以預先在 Node 上緩存新鏡像,提高彈性效率;

  • 可以保持 ip 不變,避免因 ip 變化導致依賴組件如注冊中心感知的延時;

  • 減少重建 pod 對調度器,注冊中心,業(yè)務上下游的壓力。

與此同時,OpenKruise 項目已經(jīng)將原地升級能力通過 CloneSet / AdvanceStatefulSet 貢獻于開源。CloneSet 是 OpenKruise 中提供的核心 workload  之一,它主要面向無狀態(tài)應用,提供了更加高效、確定可控的應用管理和部署能力,支持優(yōu)雅原地升級、指定刪除、發(fā)布順序可配置、并行/灰度發(fā)布等豐富的策略,可以滿足更多樣化的應用場景。CloneSet 與原生 Kubernetes workload 功能對比如圖:

Serverless及OpenKruise 部署優(yōu)化的實例分析

SAE 決定采用 CloneSet 作為新的應用負載,一方面借助其原地升級的能力提升應用整體部署效率,另一方面也結合 OpenKruise 開源的力量,共同打造通用標準的無狀態(tài)應用負載的大規(guī)模使用實踐。針對于增量應用, SAE 會默認采用 CloneSet 進行用戶應用的部署,并結合最大不可用實例數(shù)和優(yōu)雅升級時長來保證發(fā)布的流量無損,而對于存量應用, SAE 將采用基于有限狀態(tài)機的滾動升級進行在線遷移操作。

方案上線后效果顯著,在一個月的時間內,已經(jīng)有近千個應用使用 CloneSet 進行部署,且原地升級次數(shù)為重建升級的兩倍,部署效率比原生 K8s 提升 42% ,結合鏡像緩存,用戶部署應用到容器啟動在秒級內完成。SAE 后續(xù)會對更多 OpenKruise 的高級能力產(chǎn)品化,同時結合用戶場景,不斷打磨穩(wěn)定性與最佳實踐回饋于開源。

Serverless及OpenKruise 部署優(yōu)化的實例分析

圖:原生 K8s 部署應用重建升級策略  VS  SAE 部署應用原生升級策略

上述就是小編為大家分享的Serverless及OpenKruise 部署優(yōu)化的實例分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI