《火山引擎-思成-火山引擎基于Kubernetes構建多租SaaS的實踐 - v5 .pdf》由會員分享,可在線閱讀,更多相關《火山引擎-思成-火山引擎基于Kubernetes構建多租SaaS的實踐 - v5 .pdf(19頁珍藏版)》請在三個皮匠報告上搜索。
1、基于基于KubernetesKubernetes構建多租構建多租SaaSSaaS的實踐的實踐思成思成-火山引擎云原生架構師火山引擎云原生架構師個人簡介個人簡介思成思成火山引擎云原生架構師火山引擎云原生架構師email:email:掃碼關注字節跳動云原掃碼關注字節跳動云原生生目錄目錄 業務背景和特點 計算隔離 控制面隔離 網絡隔離和聯通性 CA多租和彈性負載業務背景業務背景-機器學習平臺機器學習平臺 體驗友好體驗友好云原生、SSH 開發機、jupter notebook/vscode高利用率高利用率資源池化、任務排隊、彈性調度、混合調度高性價比高性價比公有云 0 GPU 碎片率、平臺免費、系統級
2、優化、AI 訓練/推理優化靈活開放靈活開放支持 openAPI、pythonSDK,支持云原生、超算、SQL for AI業務背景業務背景-云原生大數據平臺云原生大數據平臺一站式大數據管理平臺,支持實現和離線計算,便捷的運維開發基于云原生技術部署,高效的資源管理和調度提升資源利用率字節跳動深度優化的實時計算鏈路,提供消息隊列-實時計算-實時服務的全鏈路服務。GIMS Quota 服務Gateway網關服務流式計算 Flink 版Serverless 全托管批式計算 MLP-Spark 版Serverless 全托管云原生消息引擎BMQ 全托管云原生計算云原生計算 管理控制管理控制GPMS 租戶
3、管理服務GRO 運行時管理GWS生態整合服務云原生計算云原生計算-運維平臺運維平臺 組件服務生命周期管理Helm Chart 管理日志、審計監控報警容災、高可用大數據文件存儲 CloudFS兼容 HDFS 語義TOS 透明加速 近計算緩存加速云原生計算云原生計算 計算引擎計算引擎GAS交付部署服務云搜索服務OpenSearch 全托管公有云-VKE/VCI混合云 veStack 敏捷/全棧 VKE客戶定制化 K8sVKE VKE-火山引擎容器服務火山引擎容器服務mGPUmGPU 提升提升 GPU GPU 利用率利用率免免 K8s K8s 運維運維mGPU 是容器共享 GPU 方案,最多支持 1
4、6 個 Pod 共享一張 GPU 卡,支持 T4/V100/A100/A30、消費卡GeForce/GTX/1080Ti 等。多種算力分配模式和調度增強。K8S集群全生命周期管理,完善的運維,監控可視化,自愈能力,大幅降低運維成本。穩定可靠穩定可靠無縫集成無縫集成字節內部海量業務的大規模驗證,積累了大量的最佳實踐和管理經驗,產品成熟穩定。多區域多可用區部署,構建更高的業務可用性。容器服務與火山引擎平臺提供的多種服務進行了無縫集成,有效降低業務系統部署復雜度,提升效率原生安全原生安全滿足不同隔離級別。完全托管,默認安全加固結合全方位網絡安全隔離管控和細粒度的訪問控制,實現服務和數據的安全性和高可
5、用性。VCI VCI-火山引擎彈性容器火山引擎彈性容器極致彈性極致彈性高效隔離高效隔離面向容器和虛擬機層面的自動化彈性能力、應對瞬時大流量請求的彈性能力。秒級滿足近萬核的擴容需求?;?MicroVM 技術,提供虛擬機級隔離能力,消耗更小更高效。按需付費按需付費簡單易用簡單易用按實際實例運行時長內消耗的資源計費,精確到秒。無縫集成于容器服務VKE中,提供全托管 Serverless 能力,即開即用。業務特點業務特點均為計算資源托管的計算型產品,對性能、穩定性要求比較高。產品上支持客戶自定義鏡像、或者自定義腳本執行。數據不托管,數據源和目的都是租戶的存儲產品。產品售賣形式有三種:完全彈性后付費、
6、固定資源包年包月獨占隊列、min-max 配置的彈性獨占隊列。因此對資源彈性以及負載彈性性能要求比較高。設計要點設計要點租戶獨占節點池。滿足安全、性能和穩定性的訴求。Pod 網絡使用 VPC-CNI Underlay 網絡,保障 Pod 通信性能。改進了 VPC-CNI 網絡,實現了 Pod 雙網卡、指定 Pod 主網卡安全組的能力。對齊 VKE 和 VCI Pod 接口、VPC-CNI 能力和接口、CSI 能力和接口,支持了彈性負載調度到彈性容器 VCI。使用 CA 自動管理節點池,提升資源利用率。實現了P2P、懶加載、鏡像預熱方案,實現彈性負載秒級啟動。計算隔離計算隔離動態動態 ECSEC
7、SECS:Pod=1:1采用 hostNetwork獨占節點池獨占節點池每個租戶獨占1-N個節點池ECS:Pod=1:NK8S ClusterK8S ClusterJob schedulerPodControllerECSGroup ControllerPodECSGroupECSECSECSPodPodPod1:11:11:1g2a.large 節點池租戶AECSPodPodPodg2a.large 節點池租戶BECSPodPodPod集群 common控制面隔離控制面隔離獨享獨享 K8s K8s 集群集群大客戶獨享 K8s 集群。kube-apiserver 性能穩定性不受其他租戶影響資源
8、成本和運維成本較高共享共享 K8s K8s 集群集群每個租戶一個 namespace,RBAC 控制權限resource quota 控制資源,避免單一租戶打爆集群租戶 Pod 對 Metadata server 的訪問要受控,同時允許系統 Pod 訪問。目前通過安全組實現,未來演進到 IRSA 方案集群 tenant_a租戶Anamespace ns_b租戶Bnamespace ns_c租戶Cspark-operatorspark-operatorIAMMetadata Server控制面隔離控制面隔離Operator 模式中,單一租戶的不當行為可能導致kube-apiserver 過載或者
9、 OOM,影響其他租戶。租戶 A 提交一個超大 job,operator 短時間創建大量 Pod,導致集群多個組件請求堆積無法處理其他租戶請求。管控 Operator 編寫不當,短時間發起大量 List 請求,導致 kube-apiserver OOM。使用 APF 管理請求,避免單一租戶不當行為影響其他租戶。根據集群規模,給予節點組件的 List 請求適當 QPS 配額限制管控 Account List 請求配額,限制租戶 Acount List 請求配額,限制租戶 Account Create Pod 請求配額。數據面集群-VPC1租戶 Ag2a.xlarge 節點池網絡隔離網絡隔離Nod
10、e3g2a.large 節點池Node1Node2Node4安全組 sg-sys租戶 Bg2a.large 節點池安全組 sg-b子網 subnet-bpod1filebeatpod2filebeatNode5Node6pod5filebeatpod6filebeat安全組 sg-a子網 subnet-aX安全組sg-sysXXkube-apiserverXmetadata-serverXnamespace anamespace bVPC多租隔離實現多租隔離實現ECS NodePod0(Tenant A)eth0(branch)Primary ENI VPC-sysSecondary ENI(
11、trunk)vlan 1Pod1(Tenant A)eth0(branch)vlan 2Pod2(Tenant A)eth0(branch)vlan 3eth1(branch)vlan 5Pod3(Tenant A)eth0(branch)eth1(branch)vlan 4vlan 6sg-asg-asg-asg-asg-asg-aVPC-ACA CA 多租多租數據面集群-VPC1租戶Ag2a.xlarge 節點池Node3g2a.large 節點池Node1Node2Node4租戶Bg2a.large 節點池pod1pod2Node5Node6pod3pod6cluster-autosca
12、lerspark-operatorPending Pod4Pending Pod5PendingPod6pod4scale用 CA 實現租戶節點池的彈性,提升資源利用率、降低運維成本。CA 在多租應用中的問題:節點池數量多,高峰期某些租戶任務等待時間長。導致依賴多節點池的job 等待時間長。極速彈性極速彈性-P2PP2P加速加速大數據和AI應用鏡像在幾G-幾十G之間,同時容器鏡像倉庫是集中式的,集群中的所有節點都會從容器鏡像倉庫上拉取鏡像。在彈性并發情況下,如果同時從容器鏡像倉庫拉取鏡像,容器鏡像倉庫網絡帶寬會成為性能瓶頸,導致鏡像拉取緩慢。P2P 加速P2P 加速利用節點的內網帶寬資源,在節
13、點之間分發鏡像,減少對鏡像倉庫的壓力,大幅提升鏡像拉取速度,縮短應用部署時間。極速彈性極速彈性-自定義鏡像預熱自定義鏡像預熱CA 彈性導致 Pod 冷啟動,導致Job啟動變長甚至失敗自定義鏡像預熱 K8s Pod 冷啟動鏡像加載路徑:TOS-containerd-EBS 寫入-EBS 讀取-Pod 將常用容器鏡像或者基礎鏡像層,打包到自定義 ECS 鏡像中,利用 EBS 的預熱能力,將自定義鏡像提前加載到 AZ EBS 集群中。預熱后 Pod 冷啟動鏡像加載路徑:EBS 讀取-Pod。拉取大鏡像耗時從分鐘級縮減到秒級。CR自定義ECS 鏡像鏡像預熱EBS 服務 NodeNodeNode容器鏡像
14、ECS 鏡像ECSECS 標準鏡像+容器鏡像下一步展望下一步展望CA 多租并行擴容、感知Gang 語義。多租混部,提升資源利用率。GPU/RDMA 微拓撲調度優化,提升 GPU 利用率。了解更多技術實踐案例了解更多技術實踐案例麥思博(msup)有限公司是一家面向技術型企業的培訓咨詢機構,攜手2000余位中外客座導師,服務于技術團隊的能力提升、軟件工程效能和產品創新迭代,超過3000余家企業續約學習,是科技領域占有率第1的客座導師品牌,msup以整合全球領先經驗實踐為己任,為中國產業快速發展提供智庫。高可用架構主要關注互聯網架構及高可用、可擴展及高性能領域的知識傳播。訂閱用戶覆蓋主流互聯網及軟件領域系統架構技術從業人員。高可用架構系列社群是一個社區組織,其精神是“分享+交流”,提倡社區的人人參與,同時從社區獲得高質量的內容。