如何管理超千萬核資源的容器規(guī)模-王濤_第1頁
如何管理超千萬核資源的容器規(guī)模-王濤_第2頁
如何管理超千萬核資源的容器規(guī)模-王濤_第3頁
如何管理超千萬核資源的容器規(guī)模-王濤_第4頁
如何管理超千萬核資源的容器規(guī)模-王濤_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

如何管理超千萬核資源的容器規(guī)模王濤/騰訊云容器平臺(tái)負(fù)責(zé)人CONTENTS騰訊自研業(yè)務(wù)容器化上云歷程從面向集群到面向應(yīng)用的調(diào)度編排1騰訊自研業(yè)務(wù)容器化上云歷程容器化上云的技術(shù)路線網(wǎng)絡(luò)VPCCLBENI存儲(chǔ)CFSCBSCFS計(jì)算CPUGPUKubernetesTKE-STACKTKE-Edge網(wǎng)絡(luò)VPCCLBENI存儲(chǔ)CFSCBSCFS計(jì)算CPUGPUKubernetesTKE-STACKTKE-EdgeEKSTKETencentCloudMesh應(yīng)用市場(chǎng)軟件源北極星/TRPCOperators基礎(chǔ)設(shè)施基礎(chǔ)服務(wù)產(chǎn)品化服務(wù)游戲音視頻社交出行 業(yè)務(wù) 游戲音視頻社交出行入口TKEx容器平臺(tái)入口TKEx容器平臺(tái)研效平臺(tái)持續(xù)沉淀容器技術(shù)持續(xù)沉淀容器技術(shù)資源管理降本增效產(chǎn)品云原生配額管理系統(tǒng)混部技術(shù)資源超賣技術(shù)業(yè)務(wù)運(yùn)維效率提升應(yīng)用智能化診斷及自愈資源管理降本增效產(chǎn)品云原生配額管理系統(tǒng)混部技術(shù)資源超賣技術(shù)業(yè)務(wù)運(yùn)維效率提升應(yīng)用智能化診斷及自愈業(yè)務(wù)大盤視圖(異常分布、高負(fù)載分布)對(duì)接研效平臺(tái)業(yè)務(wù)快速容災(zāi)部署&可視化容器調(diào)度重調(diào)度Pod升級(jí)資源預(yù)留節(jié)點(diǎn)負(fù)載均衡動(dòng)態(tài)調(diào)度有狀態(tài)服務(wù)容器化長連接服務(wù)無損升級(jí)原地升級(jí)/快速升級(jí)/熱升級(jí)分批灰度發(fā)布穩(wěn)定性提升集群穩(wěn)定性系統(tǒng)化建設(shè)混沌工程&故障演練Pod異常檢測(cè)&自愈節(jié)點(diǎn)穩(wěn)定性檢測(cè)&自愈彈性伸縮基于預(yù)測(cè)的智能彈性伸縮HPA,VPA,CronHPAClusterAutoScaler自研上云規(guī)模自研上云規(guī)模 2各種混部場(chǎng)景下利用率提升方案在線離線混部集群在離線混部面臨的問題在離線混部面臨的問題PAGE13PAGE13在線作業(yè)資源利用率低 離線作業(yè)需要大量碎片資源非容器化部署,未能充分利用整機(jī)資源業(yè)務(wù)容災(zāi)占用資源申請(qǐng)資源高于實(shí)際使用資源,“占而不用”資源使用波峰波谷的潮汐現(xiàn)象業(yè)務(wù)之間相互隔離

CPU密集型任務(wù)延遲不敏感,實(shí)時(shí)性不高批量任務(wù),可以容忍一定的失敗率執(zhí)行周期時(shí)間短資源申請(qǐng)量少,可以填充碎片資源在離線混部原則&目標(biāo)在離線混部原則&目標(biāo) 則 標(biāo) 通用技術(shù),公司內(nèi)外都可以使用,方便開放到社區(qū)以及輸出到騰訊云客戶

在線作業(yè)SLO受保證,離線作業(yè)不能無限填充符合云原生方式

離線作業(yè)能快速上線下線,在線作業(yè)需要更多資源時(shí),能及時(shí)避讓降低對(duì)應(yīng)用的依賴,不能引入太多假設(shè)

離線作業(yè)的成功率受保證,不能因?yàn)轭l繁受限,導(dǎo)致失敗率很高兼容生態(tài),K8s和Hadoop

在保證在線和離線服務(wù)質(zhì)量的前提下,盡可能提升資源利用率對(duì)Kubernetes零入侵!Caelus全場(chǎng)景在離線混部Caelus全場(chǎng)景在離線混部 priorityquota descheduler VPA BatchschedulerK8sAppAdmissionApiservercoordinatorKubeschedulermetric-server metric-server Prometheus 實(shí)時(shí)數(shù)據(jù)歷史數(shù)據(jù)caeluscaelusNMcaeluskubeletkubeletkubeletcaelus 應(yīng)用隔離 數(shù)據(jù)采集 置 干擾檢測(cè)離線抑制干擾處理應(yīng)用畫像應(yīng)用畫像 OS Prometheus NM/Kubelet Caelus在離線混部流程Caelus在離線混部流程本地預(yù)測(cè):進(jìn)程在線作業(yè)資源突變,可快速作出反應(yīng)VPA組件優(yōu)化,適配節(jié)點(diǎn)場(chǎng)景全維度資源隔離:CPU、內(nèi)存、磁盤IO、網(wǎng)絡(luò)IO、本地磁盤、等資源彈性,提升資源利用率優(yōu)先級(jí)搶占,滿足在線資源需求兼容主流離線生態(tài):K8s生態(tài),如云原生大數(shù)據(jù)Hadoop生態(tài)Caelus混部干擾檢測(cè)與處理,全面提升混部應(yīng)用的服務(wù)質(zhì)量SLA 離 干擾檢測(cè):檢測(cè)干擾的方式:指標(biāo)資源指標(biāo)獲取方式:需要應(yīng)用配合無需應(yīng)用配合,系統(tǒng)自動(dòng)采集

干擾檢測(cè)CPI時(shí)延實(shí)際資源時(shí)延

CPIMean+2*CPIStdDev 發(fā) 沖突處理:調(diào)整資源,快降低慢恢復(fù)處理離線進(jìn)程不同類型資源處理不同:Kill/throttle按離線作業(yè)重要性排序驅(qū)逐

度 優(yōu)先級(jí)、啟動(dòng)時(shí)間AdustResource 度 優(yōu)先級(jí)、啟動(dòng)時(shí)間AdustResourceNMCapacity減少更新次數(shù)NMCapacity減少更新次數(shù) throttle 測(cè)

processofflinetask

Kill離線作業(yè)listAll,kill離線作業(yè)排序 kill Kill離線作業(yè)listAll,kill離線作業(yè)排序14在離線混部通過Caelus對(duì)外輸出Caelus協(xié)同存儲(chǔ)、內(nèi)核、運(yùn)行時(shí)、調(diào)度及離線框架等多層服務(wù)質(zhì)量通過Caelus在離線混部能力,集群CPU利用率可提升到60%Caelus相關(guān)的能力已開源:/Tencent/caelus15在線混部集群在線混部利用率提升手段在線混部利用率提升手段NodeAnnatatorNode-Operator-AgentDynamic-Pod-Resource-CompressorDynamic-Node-Resource-Oversaler Dynamic-SchedulerDe-SchedulerNodeAnnatatorNode-Operator-AgentDynamic-Pod-Resource-CompressorDynamic-Node-Resource-OversalerDynamic-SchedulerDe-SchedulerNode-ExporterHorizontalNodeAutoScalerNode-ScorerVPAPlusControllerHPAPlusControllerCronHPAControllerERPControllerDynamic-Quota-OperatorDynamic-Quota-WebhookPrometheus+Kvass+Thanos二層動(dòng)態(tài)資源超賣 節(jié)點(diǎn)負(fù)載均衡調(diào)度 彈性伸Prometheus+Kvass+Thanos

業(yè)務(wù)配額動(dòng)態(tài)管理 云原生TencentOS 彈性伸縮-集群彈性伸縮-集群二級(jí)彈性資源池方案,支持常規(guī)擴(kuò)縮容和緊急擴(kuò)縮容種場(chǎng)景。的平臺(tái)級(jí)Buffer池,讓資源在多集群高效流轉(zhuǎn)。節(jié)點(diǎn)上下線實(shí)現(xiàn)自動(dòng)化和標(biāo)準(zhǔn)化。集群負(fù)載高或者資源不足時(shí),最快可實(shí)現(xiàn)小于1擴(kuò)容速度,這樣對(duì)提升集群負(fù)載有極大的益處。彈性伸縮-業(yè)務(wù)彈性伸縮-業(yè)務(wù)給有狀態(tài)/無狀態(tài)服務(wù)提供全面、高性能的AutoScale服務(wù),實(shí)現(xiàn)無邊界彈性。HPAPlus-Controller:支持業(yè)務(wù)常規(guī)彈性伸縮場(chǎng)景支持HPA對(duì)象自定義關(guān)鍵配置:擴(kuò)縮容速率/計(jì)算周期/指標(biāo)容忍度等。maxReplicas策略,避免超出預(yù)期的流量受限于maxReplicas配置太低,導(dǎo)致業(yè)務(wù)雪崩。 ? 性能優(yōu)化:支持幾千個(gè)業(yè)務(wù)HPA對(duì)象并行彈性伸縮計(jì)算邏輯。CronHPA-Controller:支持業(yè)務(wù)周期性彈性伸縮場(chǎng)景HPA與CronHPA實(shí)際流量超過預(yù)估流量,仍能自動(dòng)擴(kuò)容。 VPAPlus-Controller:支持有狀態(tài)服務(wù)無感知垂直擴(kuò)縮容場(chǎng)景 根據(jù)業(yè)務(wù)歷史負(fù)載監(jiān)控,對(duì)有狀態(tài)服務(wù)進(jìn)行無感知擴(kuò)縮容。聯(lián)動(dòng)VPA和HPA:當(dāng)PodVPA達(dá)到Node資源上限時(shí)自動(dòng)觸發(fā)HPA進(jìn)行橫向擴(kuò)容。動(dòng)態(tài)調(diào)度器動(dòng)態(tài)調(diào)度器Kubernetes原生調(diào)度器屬于靜態(tài)調(diào)度,當(dāng)大量業(yè)務(wù)混部在一個(gè)集群時(shí),必然出現(xiàn)節(jié)點(diǎn)負(fù)載不均衡,Pod調(diào)度時(shí)仍可能往高負(fù)載節(jié)點(diǎn)上調(diào)度,造成業(yè)務(wù)服務(wù)質(zhì)量下降。分布Cpu/Memory/DiskusageNetworkio/Systemload/Iowait/softirq如何避免調(diào)度熱點(diǎn)問題,是一個(gè)有趣的問題。自研熱點(diǎn)動(dòng)態(tài)補(bǔ)償算法二層動(dòng)態(tài)資源超賣二層動(dòng)態(tài)資源超賣L1:Node L2:Pod資源超賣是所有資源調(diào)度平臺(tái)必須深耕的技術(shù),是降本增效的最有效手段,動(dòng)態(tài)超賣更加安全可控。技術(shù)挑戰(zhàn):節(jié)點(diǎn)超賣比的安全控制,防止影響業(yè)務(wù)穩(wěn)定。節(jié)點(diǎn)資源超賣對(duì)Kubernetes驅(qū)逐機(jī)制和資源預(yù)留機(jī)制的影響。關(guān)鍵手段:載過高。節(jié)點(diǎn)負(fù)載和容器負(fù)載可預(yù)測(cè),提前規(guī)避節(jié)點(diǎn)出現(xiàn)高負(fù)載。如果出現(xiàn)預(yù)料外的節(jié)點(diǎn)高負(fù)載,通過de-scheduler及時(shí)降低節(jié)點(diǎn)負(fù)載。極端情況如果出現(xiàn)大面積節(jié)點(diǎn)高負(fù)載,通過HNA進(jìn)行秒級(jí)擴(kuò)容。超賣比和Kubernetes節(jié)點(diǎn)穩(wěn)定性機(jī)制(驅(qū)逐和資源預(yù)留)賣比變化需要?jiǎng)討B(tài)調(diào)整kubelet對(duì)應(yīng)的配置。在線混部利用率提升方案效果在線混部利用率提升方案效果通過在線業(yè)務(wù)混部超賣方案,集群通過在線業(yè)務(wù)混部超賣方案,集群CPU平均利用率提升到30%~40%未使用在線混部超賣方案的集群節(jié)點(diǎn)負(fù)載很不均衡。已使用在線混部超賣方案的集群節(jié)點(diǎn)負(fù)載均衡性良好。節(jié)點(diǎn)負(fù)載均方差是未使用的已使用在線混部超賣方案的集群節(jié)點(diǎn)負(fù)載均衡性良好。節(jié)點(diǎn)負(fù)載均方差是未使用的20%左右。通過Crane對(duì)外開源全套技術(shù)在離線混部、在線混部等全場(chǎng)景的混部技術(shù)通過Crane項(xiàng)目對(duì)外開源

crane:/gocrane/crane3穩(wěn)定性面臨的挑戰(zhàn)及其破解之法指標(biāo)可視化。(平臺(tái)集群節(jié)點(diǎn)Workload/PodContainerProcess)使用云上指標(biāo)可視化。(平臺(tái)集群節(jié)點(diǎn)Workload/PodContainerProcess)使用云上PaaS(Redis,TDSQL…)告警。檢查,異常自愈。集群建設(shè)要自動(dòng)化、標(biāo)準(zhǔn)化。Dockerd/Containerd/Kubelet節(jié)點(diǎn)組件狀態(tài)監(jiān)測(cè)與告警、自愈。OS/Kernel警。致,自動(dòng)進(jìn)行節(jié)點(diǎn)內(nèi)核升級(jí)和Patch熱補(bǔ)丁。容器場(chǎng)景內(nèi)核參數(shù)優(yōu)化。關(guān)鍵業(yè)務(wù)穩(wěn)定性指標(biāo)可觀測(cè)De-Scheduler對(duì)異常Pod重調(diào)度。署。集群的資源。業(yè)務(wù)基礎(chǔ)鏡像優(yōu)化。(版、標(biāo)準(zhǔn)版)平臺(tái)層穩(wěn)定集群層穩(wěn)定節(jié)點(diǎn)層穩(wěn)定業(yè)務(wù)層穩(wěn)定平臺(tái)&集群穩(wěn)定性

Case1:提升Prometheus集群的穩(wěn)定性,具備動(dòng)態(tài)彈性能力。穩(wěn)定:根治PrometheusOOM造成監(jiān)控?cái)?shù)據(jù)斷點(diǎn)運(yùn)營:數(shù)百個(gè)集群,需要有主動(dòng)服務(wù)發(fā)現(xiàn)能力,降低人力運(yùn)營成本性能:大規(guī)模的監(jiān)控?cái)?shù)據(jù)查詢,如何保證關(guān)鍵查詢的性能技術(shù)方案:Kvass:PrometheusAutoShard,讓Prometheus集群基于targets和內(nèi)存HPA。自研Thanosdiscovery組件,具備多集群服務(wù)發(fā)現(xiàn)的能力。-Thanosclusterquery-Thanosglobalquery。 Case2:集群規(guī)模巨大,配置項(xiàng)巨多,集群標(biāo)準(zhǔn)化建設(shè)非常關(guān)鍵。 節(jié)點(diǎn)穩(wěn)定性節(jié)點(diǎn)穩(wěn)定性Case1:對(duì)核心組件/OS/Kernel析,并基于預(yù)定義的決策樹進(jìn)行自愈決策。NPD(Node-Problem-Detector)支持的節(jié)點(diǎn)穩(wěn)定性檢測(cè)指標(biāo)如下,支持自定義自愈動(dòng)作。Dockerd/Containerd/Kubelet狀態(tài)和異常日志分析UmountFailed|Shim|Syncloophung|進(jìn)程D|Cgroup泄露/|Container殘留OS穩(wěn)定性指標(biāo)檢測(cè)Memoryusage|usage|PIDPressure|D狀態(tài)進(jìn)程|Iowait|Systemload|FDPressure|節(jié)點(diǎn)網(wǎng)絡(luò)異常檢測(cè)(云原生TencentOS)Kernel|Softlockup|Hungtask|RCUStall|KernelPanicCase2:當(dāng)前的基線內(nèi)核暴露問題增多,有些問題無法提供熱補(bǔ)丁,為了提升節(jié)點(diǎn)穩(wěn)定性,升級(jí)內(nèi)核勢(shì)在必行。如何讓節(jié)點(diǎn)內(nèi)核升級(jí)對(duì)業(yè)務(wù)盡量無感知,做到風(fēng)險(xiǎn)低、自動(dòng)化、常態(tài)化,是一件極具挑戰(zhàn)的事情。解決方案:自研node-scorer組件,對(duì)節(jié)點(diǎn)上的業(yè)務(wù)Wokload進(jìn)行分析(高可用、負(fù)載、有狀態(tài)性等),選擇最佳的待升級(jí)的節(jié)點(diǎn)集,復(fù)用集群擴(kuò)縮容組件HNAController對(duì)節(jié)點(diǎn)進(jìn)行新內(nèi)核的重裝。業(yè)務(wù)穩(wěn)定性業(yè)務(wù)穩(wěn)定性業(yè)務(wù)經(jīng)常因節(jié)點(diǎn)關(guān)鍵資源搶占導(dǎo)致業(yè)務(wù)服務(wù)質(zhì)量下降。層面進(jìn)行協(xié)同調(diào)度編排。PrometheusNodecpu/mem/fd/disk/load/iowait/softirqNode-Problem-DetectorPod-Problem-DetectorPodrestartfrequency/fdPodLoad.r/load.dPodLongsysPodCpu調(diào)度延時(shí)PodIowaitPod內(nèi)存分配延時(shí)多可用區(qū)容災(zāi)部署多集群協(xié)同調(diào)度器基礎(chǔ)鏡像和內(nèi)核參數(shù)優(yōu)化逐步大規(guī)模使用逐步大規(guī)模使用ServerlessK8s(EKS)架構(gòu)Master組件托管在MetaCluster。Pod運(yùn)行在輕量級(jí)虛擬機(jī)里,具備良好隔離性。輕量級(jí)虛擬機(jī)和CVM共享大盤母機(jī)資源,資源量充足。優(yōu)勢(shì)云原生標(biāo)準(zhǔn)協(xié)議高性能,高可用,安全可靠輕運(yùn)維,支持異構(gòu)算力計(jì)費(fèi)靈活,彈性效率4從面向集群到面向應(yīng)用的調(diào)度編排Pod Pod Pod Pod Pod廣州集群APod Pod Pod廣州集群BPod Pod Pod上海集群C案例:某個(gè)業(yè)務(wù)全網(wǎng)有1w個(gè)工作負(fù)載、5w個(gè)Pod,分布在17個(gè)region的80個(gè)集群中,一次變更需要灰度多案例:某個(gè)業(yè)務(wù)全網(wǎng)有1w個(gè)工作負(fù)載、5w個(gè)Pod,分布在17個(gè)region的80個(gè)集群中,一次變更需要灰度多天,灰度期間運(yùn)維實(shí)時(shí)值守業(yè)務(wù)變更時(shí)需要反復(fù)在多個(gè)集群間切換才能完成發(fā)布Pod Pod Pod Pod Pod Pod Pod Pod Pod廣州集群A 廣州集群B 上海集群C從資源視角到應(yīng)用視角抽象出應(yīng)用概念抽象出應(yīng)用概念-業(yè)務(wù)可在統(tǒng)一視圖下一次性完成應(yīng)用管理,無需切換集群基于TAD實(shí)現(xiàn)應(yīng)用視角的跨級(jí)群應(yīng)用管理,業(yè)務(wù)無需關(guān)心集群與資源概念 跨集群應(yīng)用統(tǒng)一變更 跨集群應(yīng)用彈性伸縮 跨集群應(yīng)用配置管理 跨集群應(yīng)用流量調(diào)度 跨集群應(yīng)用業(yè)務(wù)看板 跨集群應(yīng)用容災(zāi)檢查 目標(biāo)效果圖即可了解大盤情況,無需實(shí)時(shí)關(guān)注,解放人力 目標(biāo)效果圖即可了解大盤情況,無需實(shí)時(shí)關(guān)注,解放人力ClusternetCoreFeaturesKubernetesMulti-ClusterManagementandGovernancemanagingKubernetesclustersrunningincloudprovidersmanagingon-premiseKubernetesclustersmanagingKubernetesclustersrunningattheedgeApplicationCoordinationsCross-ClusterSchedulingclusterlabelselectorsclustertaints&tolerationsVariousResourceTypesKubernetesnativeobjects,suchasDeployment,StatefulSet,etcCRDhelmchartsSettingOverridestwo-stageprioritybasedoverridestrategieseasytorollbackcross-clustercanaryrollout

Clusternet:/clusternet/clusternet動(dòng)態(tài)拆分調(diào)度動(dòng)態(tài)拆分調(diào)度感知子集群在集群、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論