阿里云ECI如何6秒扩容3000容器实例?
簡介:?2021年云棲大會現(xiàn)場,阿里云工程師演示了在6秒時間內(nèi)成功啟動3000個ECI,并全部進入到Running狀態(tài)。本文將為你揭開阿里云ECI是如何做到極速擴容的。
引言
根據(jù)最新CNCF報告,有超過90%的用戶在生產(chǎn)環(huán)境使用容器,并且有超過80%的用戶通過Kubernetes管理容器。是不是我們的生產(chǎn)環(huán)境上了K8s就完美解決了應(yīng)用部署的問題?IT界有句俗語,沒有什么是萬能的,K8s也不是萬能的,K8s解決了應(yīng)用的編排和調(diào)度,但沒有解決資源容量的限制、沒有解決容器的安全隔離,以及高昂的運維成本。
傳統(tǒng)K8s的問題和困境
- 資源效率低
這個資源柱狀圖來自阿里云一個客戶,業(yè)務(wù)的流量高峰期CPU大概在7000-8000核,在流量低谷期只有幾百核CPU的使用。如果在做IT規(guī)劃或者購買資源時,按照峰值流量去規(guī)劃資源,會導(dǎo)致嚴重的資源浪費。但如果按照使用量去實時規(guī)劃ECS資源,又會導(dǎo)致在面對一些突發(fā)流量時無法及時擴容,影響服務(wù)的穩(wěn)定性。
- 資源隔離弱
容器使用系統(tǒng)內(nèi)核的namespace進行資源隔離,但內(nèi)核僅支持UTS、IPS等6種namespace隔離。我們遇到過一個客戶,需要在測試環(huán)境修改某個業(yè)務(wù)Docker的時間,結(jié)果導(dǎo)致一臺機器上所有的容器時間都被修改。還有定制內(nèi)核參數(shù)、IO公平分享等場景,也有相同的問題。
同時,容器安全也一直被大家詬病,例如特權(quán)容器直接可以看到機器上所有的磁盤數(shù)據(jù)。
- 運維成本高
云原生為IT帶來了很多便利,但同時云原生也讓整個IT運維變得越來越復(fù)雜。一個K8S容器集群,至少需要部署高可用Master、網(wǎng)絡(luò)插件、鏡像倉庫、日志服務(wù),以及監(jiān)控組件。即便辛苦把這些組件安裝完成,也要面對后續(xù)每天各種運維、告警的處理,運維每天是各種的救火。
阿里云彈性容器實例ECI應(yīng)運而生
有沒有一種免運維、并且能夠按需使用的安全的容器解決方案呢?阿里云彈性容器實例應(yīng)運而生了。
阿里云彈性容器實例(簡稱ECI,Elastic Container Instance)是阿里云結(jié)合容器和Serverless技術(shù)提供的容器運行服務(wù)。通過使用ECI,在阿里云上部署容器時,無需購買和管理云服務(wù)器ECS,可以直接在阿里云上運行Pod和容器,省去了底層服務(wù)器的運維和管理工作。簡單來說,一個ECI就是一個Pod,可以被K8s編排和調(diào)度。
阿里云彈性容器實例特別適用于突發(fā)的業(yè)務(wù)流量,或者短周期的任務(wù)運行。那么ECI和客戶自己去購買ECS,在ECS里運行Docker有什么區(qū)別呢?最大的區(qū)別在于如果使用ECI,整個容器的運行時會將由阿里云來運維。
ECI有以下優(yōu)點:
- 底層資源由阿里云托管,用戶不再需要管理底層VM(虛擬機)。
- 復(fù)用整個阿里云的彈性計算資源池,保證充足的庫存。
- 低成本,按秒計費,從Pod開始創(chuàng)建時收費。
- 啟動快,秒級啟動底層安全沙箱。
- 兼容性強,完全兼容K8s。
?
阿里云彈性容器實例采用社區(qū)的Virtual Kubelet方案與K8s集成,當集群內(nèi)有Pod創(chuàng)建并調(diào)度到Virtual Kubelet時,Kubelet就會調(diào)用ECI接口,啟動ECI。
ECI與業(yè)務(wù)系統(tǒng)的對接方式包括:
- (推薦)通過阿里云容器服務(wù)Serverless Kubernetes(ASK)部署業(yè)務(wù),提供無需運維的Kubernetes集群能力,底層Pod資源全部使用ECI承載。
- (推薦)通過阿里云容器服務(wù)Kubernetes(ACK)部署業(yè)務(wù),為ACK集群提供額外的海量彈性能力。
- 通過Virtual Node對接用戶在ECS上自建的Kubernetes集群,提供方便快捷的彈性計算資源。
- 通過Virtual Node對接用戶在線下IDC自建的Kubernetes集群,提供云上的無限彈性計算能力。
- 通過OpenAPI直接對接業(yè)務(wù)系統(tǒng),低成本的隨時創(chuàng)建或釋放ECI業(yè)務(wù)容器。
ECI極速啟動實例:6秒鐘3000個容器實例
在2021年云棲大會現(xiàn)場,阿里云Serverless容器服務(wù)彈性容器實例發(fā)布了極速啟動實例新特性。彈性容器實例在解決上述應(yīng)用部署問題的基礎(chǔ)上,創(chuàng)新的提供極速啟動的產(chǎn)品特性。現(xiàn)場演示了在6秒時間內(nèi)成功啟動3000個ECI,并全部進入到Running狀態(tài)。
阿里云是如何做到6秒鐘啟動3000個容器實例?
一方面,通過大量用戶級別的創(chuàng)建歷史數(shù)據(jù),應(yīng)用機器學(xué)習(xí)找出用戶創(chuàng)建Pod的規(guī)律,通過預(yù)測預(yù)調(diào)度、資源復(fù)用等手段,節(jié)省ECI的調(diào)度、創(chuàng)建時間,同時使用了阿里云袋鼠沙箱容器作為引擎,輔以overlay網(wǎng)絡(luò)、存儲方案,將單ECI實例冷啟動時間壓縮到了3秒以下,針對袋鼠引擎后續(xù)會有專門文章進行詳細的介紹,也敬請大家期待。
另一方面,在鏡像拉取維度,通過鏡像緩存把容器鏡像做成快照,免去每次啟動Pod拉取容器鏡像的動作,例如阿里云的達摩院AI團隊部分鏡像可以達到幾百G,如果按照傳統(tǒng)方式拉取需要十幾分鐘,通過ECI的鏡像緩存方案可以實現(xiàn)Pod秒級啟動。
展望未來
阿里云彈性容器實例提供了從Runtime、GuestOS、底層計算、網(wǎng)絡(luò)、存儲資源的免運維全托管服務(wù),并在2021年云棲大會上發(fā)布了極速的實例啟動速度,幫助客戶快捷的完成業(yè)務(wù)系統(tǒng)擴縮容。
隨著云廠商服務(wù)邊界的進一步上移,ECI期望通過規(guī)模化、集約化的資源調(diào)度和端到端的Runtime設(shè)計,提供相比客戶自建容器資源池更好的彈性、性能和成本能力,這將是未來1-2年阿里云彈性容器實例持續(xù)探索的方向。
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的阿里云ECI如何6秒扩容3000容器实例?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iLogtail使用入门-K8S环境日志
- 下一篇: 聚焦业务价值:分众传媒在 Serverl