統(tǒng)一調(diào)度體系始于 2011 年建設(shè)的 Sigma 是服務(wù)阿里巴巴在線業(yè)務(wù)的調(diào)度系統(tǒng),圍繞 Sigma 有一整套以調(diào)度為中心的集群管理體系。 集群管理和調(diào)度系統(tǒng) Sigma 架構(gòu)圖 Sigma 有 Alikenel、SigmaSlave、SigmaMaster 三層大腦聯(lián)動(dòng)協(xié)作,Alikenel 部署在每一臺(tái)物理機(jī)上,對(duì)內(nèi)核進(jìn)行增強(qiáng),在資源分配、時(shí)間片分配上進(jìn)行靈活的按優(yōu)先級(jí)和策略調(diào)整,對(duì)任務(wù)的時(shí)延,任務(wù)時(shí)間片的搶占、不合理?yè)屨嫉尿?qū)逐都能通過(guò)上層的規(guī)則配置自行決策。SigmaSlave 可以在本機(jī)進(jìn)行容器 CPU 分配、應(yīng)急場(chǎng)景處理等。通過(guò)本機(jī) Slave 對(duì)時(shí)延敏感任務(wù)的干擾快速做出決策和響應(yīng),避免因全局決策處理時(shí)間長(zhǎng)帶來(lái)的業(yè)務(wù)損失。SigmaMaster 是一個(gè)最強(qiáng)的中心大腦,可以統(tǒng)攬全局,為大量物理機(jī)的容器部署進(jìn)行資源調(diào)度分配和算法優(yōu)化決策。 整個(gè)架構(gòu)是面向終態(tài)的設(shè)計(jì)理念,收到請(qǐng)求后把數(shù)據(jù)存儲(chǔ)到持久化存儲(chǔ)層,調(diào)度器識(shí)別調(diào)度需求分配資源位置,Slave識(shí)別狀態(tài)變化推進(jìn)本地分配部署。系統(tǒng)整體的協(xié)調(diào)性和最終一致性非常好。我們?cè)?2011 年開始做調(diào)度系統(tǒng),2016 年用 Go 語(yǔ)言重寫,2017 年兼容了 kubernetes API,希望結(jié)合生態(tài)的力量,共同建設(shè)和發(fā)展。 混部架構(gòu)阿里巴巴在 2014 年開始推動(dòng)混部架構(gòu),目前已在阿里巴巴內(nèi)部大規(guī)模部署。在線服務(wù)屬于長(zhǎng)生命周期、規(guī)則策略復(fù)雜性高、時(shí)延敏感類任務(wù)。而計(jì)算任務(wù)生命周期短、調(diào)度要求大并發(fā)高吞吐、任務(wù)有不同的優(yōu)先級(jí)、對(duì)時(shí)延不敏感?;谶@兩種調(diào)度的本質(zhì)訴求的不同,我們?cè)诨旌喜渴鸬募軜?gòu)上把兩種調(diào)度并行處理,即一臺(tái)物理機(jī)上可以既有 Sigma 調(diào)度又有 Fuxi 調(diào)度,實(shí)現(xiàn)基礎(chǔ)環(huán)境統(tǒng)一。Sigma 調(diào)度是通過(guò) SigmaAgent 啟動(dòng) PouchContainer 容器。Fuxi 也在這臺(tái)物理機(jī)上搶占資源,啟動(dòng)自己的計(jì)算任務(wù)。所有在線任務(wù)都在 PouchContainer 容器上,它負(fù)責(zé)把服務(wù)器資源進(jìn)行分配并運(yùn)行在線任務(wù),離線任務(wù)填入其空白區(qū),保證物理機(jī)資源利用達(dá)到飽和,這樣就完成了兩種任務(wù)的混合部署。 阿里巴巴混合部署架構(gòu)圖 混部的關(guān)鍵技術(shù)內(nèi)核資源隔離上的關(guān)鍵技術(shù)
在線集群管理上的關(guān)鍵技術(shù)
混合部署指將計(jì)算任務(wù)引入在線服務(wù)集群以提升日常資源效率。把離線任務(wù)引入后,CPU 平均利用率從 10% 上升到 40% 以上,同時(shí)時(shí)延敏感類服務(wù)的延遲影響小于 5%,屬于完全可接受范圍。目前我們整個(gè)混部集群已達(dá)到數(shù)千臺(tái)的規(guī)模,經(jīng)過(guò)了交易核心鏈路雙 11 大促的驗(yàn)證。這項(xiàng)優(yōu)化可以為日常節(jié)省超過(guò) 30% 的服務(wù)器。今年會(huì)擴(kuò)大 10 倍的部署規(guī)模,取得規(guī)?;找妗?br> 混合部署-分時(shí)復(fù)用進(jìn)一步提升資源效率 通過(guò)分時(shí)復(fù)用,達(dá)到進(jìn)一步提升資源效率的效果。上圖中的曲線是我們某個(gè)應(yīng)用的流量曲線。它是非常有規(guī)律的 , 左邊代表晚上波谷期,右邊代表白天處于波峰期。正常的混部指占用圖中藍(lán)色陰影部分的資源把利用率提高到 40%,彈性分時(shí)復(fù)用技術(shù)是指對(duì)應(yīng)用畫像找到應(yīng)用流量波谷期,對(duì)應(yīng)用縮容,大量釋放內(nèi)存和 CPU,調(diào)度更多計(jì)算任務(wù)。通過(guò)這項(xiàng)技術(shù),把平均 CPU 利用率提升到 60% 以上。 PouchContainer 容器和容器化的進(jìn)展全面容器化是提升運(yùn)維能力、統(tǒng)一調(diào)度的關(guān)鍵技術(shù)。首先介紹一下阿里巴巴內(nèi)部容器產(chǎn)品 PouchContainre。它從 2011 年開始建設(shè)和上線,基于 LXC,在 2015 年初開始吸收 Docker 鏡像功能和并兼容容器標(biāo)準(zhǔn)。阿里巴巴的容器非常有特點(diǎn),它結(jié)合了阿里內(nèi)核,大幅度提高了安全隔離性,目前以百萬(wàn)級(jí)規(guī)模部署于阿里集團(tuán)內(nèi)部。 再來(lái)了解一下 PouchContainer 的發(fā)展路線。以前用的是虛擬機(jī)的虛擬化技術(shù),虛擬化技術(shù)過(guò)渡到容器技術(shù)面臨著很多運(yùn)維體系的挑戰(zhàn)。運(yùn)維體系的遷移有很大的技術(shù)成本。我們做到了阿里內(nèi)部運(yùn)維和應(yīng)用視角無(wú)縫遷移,有獨(dú)立 IP,能夠 ssh 登錄,有獨(dú)立的文件系統(tǒng)和資源隔離使用量可見性。2015 年以后,阿里巴巴引入容器標(biāo)準(zhǔn),形成了新的一套容器 PouchContainer 并集成到整個(gè)運(yùn)維體系。 PouchContainer 定位 PouchContainer 的隔離性非常好,是富容器,可以登錄,看到容器內(nèi)進(jìn)程自己占的資源量,有多少進(jìn)程,進(jìn)程掛了容器是不會(huì)掛的,可以運(yùn)行很多的進(jìn)程。兼容性很好, 舊版本內(nèi)核也支持,對(duì)利舊很有幫助。同時(shí)經(jīng)過(guò)了百萬(wàn)級(jí)容器部署的規(guī)?;?yàn)證,我們研發(fā)了一套 P2P 鏡像分發(fā)機(jī)制,大幅度提升分發(fā)效率。同時(shí)兼容了業(yè)界更多標(biāo)準(zhǔn),推動(dòng)標(biāo)準(zhǔn)的建設(shè),支持 RunC 、RunV 、RunLXC 等,經(jīng)過(guò)百萬(wàn)級(jí)容器規(guī)模的考驗(yàn),穩(wěn)定高效,是企業(yè)全面容器化的最佳選擇。 PouchContainer 架構(gòu)圖 PouchContainer 的結(jié)構(gòu)是比較清晰的,Pouchd 如何跟 kubelet、swarm、Sigma 交互。在存儲(chǔ)上跟業(yè)界一起建設(shè)了 CSI 標(biāo)準(zhǔn)。支持分布式存儲(chǔ)如 ceph、pangu。在網(wǎng)絡(luò)上使用 lxcfs 增強(qiáng)隔離性,支持多種標(biāo)準(zhǔn)。 目前 PouchContainer 化覆蓋了阿里的大部分 BU,2017 年達(dá)到百萬(wàn)級(jí)部署,在線業(yè)務(wù)達(dá)到 100% 容器化,計(jì)算任務(wù)也開始容器化,它拉平了異構(gòu)平臺(tái)的運(yùn)維成本。覆蓋運(yùn)行模式,多種編程語(yǔ)言,DevOps 體系。PouchContainer 覆蓋了阿里幾乎所有業(yè)務(wù)板塊如螞蟻、交易、中間件等等。 PouchContainer 于 2017 年 10 月 10 號(hào)宣布開源,11 月 19 日正式開源,計(jì)劃在 2018 年 03 月發(fā)布第一個(gè)大版本。我們希望通過(guò) PouchContainer 的開源推動(dòng)容器領(lǐng)域的發(fā)展和標(biāo)準(zhǔn)的成熟,給業(yè)界提供差異化有競(jìng)爭(zhēng)力的技術(shù)選擇。不僅方便傳統(tǒng) IT 企業(yè)利舊,老的基礎(chǔ)設(shè)施也同樣能夠享受云源生技術(shù)帶來(lái)的好處和優(yōu)勢(shì),而且方便新的 IT 企業(yè)享受規(guī)?;€(wěn)定性和多標(biāo)準(zhǔn)兼容性帶來(lái)的優(yōu)勢(shì)。 本文作者:調(diào)度系統(tǒng)負(fù)責(zé)人叔同(丁宇) |
|
來(lái)自: xujin3 > 《特定系統(tǒng)》