ASK在線業務彈性伸縮的概況
彈性伸縮特性
-
特性
-
根據業務需求和策略
-
經濟地自動調整彈性計算資源
-
-
維度
-
調度層彈性:修改負載的調度容量變化
-
資源層彈性:補充ECI和集羣容量規劃
-
-
場景
-
在線業務彈性
-
大規模計算訓練
-
深度學習或共享GPU的訓練與推理
-
定時週期性負載變化
-
容器水平伸縮
-
容器水平伸縮製作步驟
-
查看應用詳情,單擊容器組水平伸縮,可在部署的詳情中查看伸縮組信息
-
在實際使用環境中,應用匯根據CPU負載進行伸縮
容器定時伸縮
-
kubernetes-cronhpa-controller: 按照類似Crontab的策略,定時對容器服務進行擴縮容
-
kubernetes-cronhpa-controller包括三項參數
-
scaleTargetRef: 制定擴縮容對象
-
excludeDates: 日期數組,分、時、日、月、周、要做的事情
-
jobs: 支持在一個spec中設定多個cronhpa任務,其中name爲必填項
-
-
kubernetes-cronhpa-controller組件安裝
指標容器水平伸縮
-
alibaba-cloud-metrics-adapter: 由檢測指標來直到集羣的擴縮容
大數據Spark on Kubernetes
Apache Spark概述
-
應用角色
-
數據分析領域快速構建計算框架
-
大數據和機器學習工作負載
-
-
應用架構
-
Spark SQL/DF: 處理結構化和半結構化數據
-
Spark Streaming: 處理實時流數據
-
Mlib: 機器學習庫
-
GraphX: 圖形計算庫
-
Apache Spark Core API: 應用程序的平臺
-
ASK運行Spark的優勢
-
在Kubernetes上運行Spark工作負載
-
應用的快速部署
-
集成化生命週期管理
-
解決版本匹配、兼容和依賴問題
-
重用基礎架構、減少運維成本
-
支持多租戶和用戶力度的資源調度
-
基於Kubernetes的權限控制
-
-
在ASK集羣上運行Spark工作負載
-
按需按量創建Pod
-
結束後停止計費
-
無需爲Spark計算任務預留計算資源
-
無須擔心集羣計算力擴容問題
-
運行Apache Spark的工具
-
Spark Operator
-
由Google官方支持的產品spark-on-k8s-operator
-
在Kubernetes上像其他工作負載一樣用通用的方式方便地運行Spark應用
-
使用Kubernetes custom resource來配置、運行Spark應用,並展現其狀態
-
-
Alluxio
-
面向雲的數據分析和人工智能的開源的數據編排技術
-
爲數據驅動型應用和存儲系統構建橋樑,是數據更容易被訪問
-
-
TPC-DS Benchmark
- 社區支持的第三方性能壓測工具,協助確定解決方案的工業標準
Knative Serverless應用
Knative簡介
-
角色
-
基於Kubernetes的Serverless解決方案
-
標準化Serverless技術架構
-
簡化學習成本
-
-
組件
-
Build: 源到容器的構建和編排
-
Event: 消息傳遞層,事件交付管理
-
Serving: 請求計算,基於負載自動伸縮
-
-
優勢
-
便利性
-
標準化
-
服務間解耦
-
生態成熟
-
自動伸縮
-
應用監控
-
-
Knative雖然開源,但是會稱爲Serverless的實施標準
ASK Knative相比社區版優勢
ASK Knative最佳實踐
-
觀測服務的QPS、RT和Pod擴縮容趨勢
-
配置Logstore
-
配置QPS統計
-
配置RT統計
-
配置Pod擴縮容趨勢統計
-
觀測服務運行狀況
-
-
觀測服務的CPU和Memory使用情況
-
ASK集羣已開通Knative功能
-
集羣已開通阿里雲Prometheus監控功能
-
配置Prometheus監控目標ASK集羣
-
CI/CD流水線解決方案
方案背景
-
場景需求
-
基於Jenkins構建自動化CI/CD集羣系統
-
集羣資源合理利用,控制成本
-
集羣高可用性需求
-
集羣資源快速彈性伸縮
-
-
方案優勢
-
高可用服務
-
自動彈性伸縮,資源合理應用
-
可擴展性好
-
-
解決問題
-
集羣Master節點單點故障
-
集羣資源利用率低
-
資源集羣可擴展性差
-
-
方案流程
-
Git源碼上傳
-
Jenkins自動構建
-
K8s測試環境
-
Registry鏡像存儲
-
生產環境部署
-
方案架構
-
服務高可用
- 避免Master單點故障導致集羣流程不可用
-
彈性伸縮
-
每次運行Job時,自動構建Jenkins Slave
-
Job完成之後,自動註銷並刪除容器
-
資源自動釋放,節省成本
-
-
資源合理應用
-
動態分配Slave到空閒節點
-
降低出現由於節點資源限制的排隊等待情況
-
-
擴展性好
-
集羣資源嚴重不足時,可以快速添加節點
-
降低集羣資源不足導致Job排隊等情況
-
事件概要
小結
-
ASK彈性伸縮特性
-
ASK彈性伸縮部署流程
-
Apache Spark在ASK上的部署方案
-
ASK Knative的優勢和最佳實踐
-
ASK上部署CI/CD流水線的解決方案