自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

小米運(yùn)維動(dòng)態(tài)部署和資源管理實(shí)踐

原創(chuàng)
運(yùn)維 系統(tǒng)運(yùn)維
由51CTO舉辦的WOT2016互聯(lián)網(wǎng)運(yùn)維與開發(fā)者峰會(huì)上,來(lái)自小米的高級(jí)運(yùn)維研發(fā)工程師黃繼做了“小米運(yùn)維動(dòng)態(tài)部署和資源管理實(shí)踐”為主題的演講。本文章是把本次分享干貨亮點(diǎn)整理成文字形式,呈獻(xiàn)廣大的用戶。

 本文是WOT2016互聯(lián)網(wǎng)運(yùn)維與開發(fā)者大會(huì)的現(xiàn)場(chǎng)干貨,新一屆主題為WOT2016企業(yè)安全技術(shù)峰會(huì)將在2016年6月24日-25日于北京珠三角JW萬(wàn)豪酒店隆重召開!

在本次WOT峰會(huì)上,黃繼老師分享了《小米運(yùn)維動(dòng)態(tài)部署和資源管理實(shí)踐》,主要內(nèi)容包括小米運(yùn)維在業(yè)務(wù)部署中由人工進(jìn)入自動(dòng)化過(guò)程中有哪些設(shè)計(jì)和整合,Docker/Mesos等熱門技術(shù)如何運(yùn)用,規(guī)?;^(guò)程中走過(guò)哪些彎路,以及小米運(yùn)維實(shí)踐的分享。

【講師簡(jiǎn)介】

 

[[167550]]

黃繼,小米運(yùn)維部高級(jí)運(yùn)維研發(fā)工程師, 負(fù)責(zé)消息、推送系統(tǒng)運(yùn)維管理工作,主導(dǎo)負(fù)責(zé)小米資源管理和動(dòng)態(tài)調(diào)度部署相關(guān)系統(tǒng)的設(shè)計(jì)和開發(fā)工作,在部署、資源管理和系統(tǒng)優(yōu)化方面有豐富的經(jīng)驗(yàn)。

小米運(yùn)維發(fā)展和演進(jìn)

開場(chǎng),黃繼先展示了小米整個(gè)運(yùn)維自動(dòng)化發(fā)展和演進(jìn)的過(guò)程,如圖1所示。

 

圖1:小米運(yùn)維發(fā)展和演進(jìn)

黃繼指出,小米服務(wù)樹的概念幾年前就提出來(lái)了,目前,前三個(gè)部分:全量部署、監(jiān)控管理、資源定位都已經(jīng)成型,并且開始使用了,此次主要講的是機(jī)器管理、資源隔離、動(dòng)態(tài)調(diào)度。

為什么要做資源管理和資源隔離

以動(dòng)制動(dòng),動(dòng)態(tài)維護(hù),不靠人工干預(yù),是整個(gè)運(yùn)維和管理中的一個(gè)目標(biāo)。具體來(lái)說(shuō),運(yùn)維中有三個(gè)基本點(diǎn):監(jiān)控、業(yè)務(wù)、主機(jī)。這三個(gè)部分的關(guān)系如圖2所示:

 

圖2:需求和目標(biāo)

小米的目標(biāo)是讓這三者之間的部署做到完全自動(dòng)化,如此以來(lái),就不需要再有資源預(yù)算,也不需要做人為規(guī)劃,比如設(shè)定機(jī)器組是放前端還是后端,只要告訴機(jī)器前端要部署即可。從而實(shí)現(xiàn)拋棄資源預(yù)算和規(guī)劃,提高部署效率,容量調(diào)整,故障快速自愈的目的。

PaaS與運(yùn)維

黃繼先從PaaS的優(yōu)缺點(diǎn)講起。

優(yōu)點(diǎn):

1. 對(duì)業(yè)務(wù)來(lái)講是透明的,而且是一個(gè)***的資源池。

2. PaaS模塊化的基礎(chǔ)設(shè)施和組件,便于擴(kuò)展。

3. 天然自帶標(biāo)準(zhǔn)化 ,對(duì)開發(fā)來(lái)講,是有利的。

缺點(diǎn):

1. 架構(gòu)標(biāo)準(zhǔn)化程度要求高 。

2. 業(yè)務(wù)類型受限,它只是開放了一個(gè)業(yè)務(wù)邏輯的層面,前面的接口和存儲(chǔ)都是已經(jīng)固化好的,通常來(lái)講只允許接入一些HTTP服務(wù)。

3. 運(yùn)行環(huán)境有特定要求。

所以,我們其實(shí)需要的是運(yùn)維角度的PaaS平臺(tái)。

小米私有類PaaS平臺(tái)

運(yùn)維角度的PaaS應(yīng)該像一個(gè)大雜鋪或者大池子,在這個(gè)池子里,不用考慮服務(wù)類型,前端和存儲(chǔ)里都可以放服務(wù)。并且具有構(gòu)建集群的能力,擴(kuò)展的能力和自愈能力。

具體的方案選型如圖3所示。

 

圖3:方案選型

黃繼提到,方案里很多功能都是開源實(shí)現(xiàn)的,例如動(dòng)態(tài)主機(jī)的選擇,集群自動(dòng)創(chuàng)建,集群維護(hù),自愈能力等。

接下來(lái),黃繼總結(jié)了三個(gè)運(yùn)用中的實(shí)際問(wèn)題。

. 業(yè)務(wù)無(wú)縫遷移。其性能和效率要達(dá)到物理機(jī)的程度,才會(huì)讓業(yè)務(wù)人員接受。

. 要和周邊的系統(tǒng),比如服務(wù)樹、監(jiān)控、服務(wù)這些成型的系統(tǒng)相結(jié)合。

. 保證整套動(dòng)態(tài)系統(tǒng)里邊的資源的正確性。

硬件效率

Docker網(wǎng)絡(luò)模式?jīng)Q定了Container的適用性。Docker的***種模式是Host Only,Host Only只是用了Docker的一些簡(jiǎn)單資源,而且是部分功能,無(wú)法把整個(gè)容器當(dāng)成一個(gè)純數(shù)據(jù)化的環(huán)境,因而不符合需求。第二種模式是用NAT,NAT雖然可以解決上述問(wèn)題,但它也有兩個(gè)局限性:一是要管理和維護(hù)物理機(jī)和容器里面IP的預(yù)測(cè)關(guān)系,二是對(duì)于一些網(wǎng)絡(luò)延遲特別敏感的服務(wù),運(yùn)行時(shí)間在物理機(jī)的基礎(chǔ)上最多可以增加30%,這是不能被接受的。

解決方法

1. 把Docker本身的網(wǎng)槽和物理主機(jī)的網(wǎng)卡調(diào)至一個(gè)模塊,為了區(qū)分到底是物理機(jī)還是容器,在調(diào)制過(guò)程中讓網(wǎng)絡(luò)設(shè)備做配合,放置一個(gè)trunk,這樣一來(lái),物理機(jī)用的是一部分網(wǎng)絡(luò)地址,容器用的是另外一部分網(wǎng)絡(luò)地址,而且可以很容易地把容器這部分的網(wǎng)絡(luò)地址分配交給DHCP SERVER去做,這個(gè)容器無(wú)論在什么地方啟動(dòng),都可以是一個(gè)可以訪問(wèn)到的容器。這樣就解決了容器獨(dú)立性的問(wèn)題。

2. 直接在物理機(jī)上開LVM,這樣做的好處是和物理機(jī)讀寫這個(gè)設(shè)備的效率是一樣的,也就是說(shuō)在LVM效率上面是沒(méi)有損失的。而且,因?yàn)樵O(shè)備的大小有限,所以天然就把存儲(chǔ)空間也限制了。

3. 直接對(duì)Docker進(jìn)行修改,讓它在每起一個(gè)容器的時(shí)候,都生成一條網(wǎng)絡(luò)輸出的限制規(guī)則。

此時(shí),整個(gè)容器的環(huán)境相對(duì)來(lái)說(shuō)就是一個(gè)完整主機(jī)的環(huán)境,各方面的資源相對(duì)合理,而且是可以限制的。

編譯和發(fā)布

在新的方式中,業(yè)務(wù)編譯好之后生成Docker lmage,用Docker去分發(fā)。

 

圖4:編譯發(fā)布

其中,baseimg是必備的,常見的通用組件可選用,上層組件可替換下層組件配置。

環(huán)境依賴和周邊系統(tǒng)接駁:在容器里面放了init,它不僅解決啟動(dòng)業(yè)務(wù)的程序,還負(fù)責(zé)設(shè)置crontab,在后臺(tái)程序啟動(dòng)stats,采集內(nèi)部的一些信息,注冊(cè)lvs,進(jìn)行引流,或者注冊(cè)xbox,mysql等。

動(dòng)態(tài)實(shí)例衍生問(wèn)題

在解決了動(dòng)態(tài)任務(wù)分配和管理、隔離容器環(huán)境、業(yè)務(wù)平滑遷移、跟其它系統(tǒng)對(duì)接等難題后,接下來(lái)面對(duì)的將是一些動(dòng)態(tài)實(shí)例衍生問(wèn)題。例如容器IP:如何登錄容器是用戶始終關(guān)心的一個(gè)點(diǎn),比如人工介入管理,白名單授權(quán),HealthCheck。第二就是數(shù)據(jù)一致性保證,即數(shù)據(jù)回收。

數(shù)據(jù)一致性回收也是需要啟動(dòng)容器,CIP的上報(bào)可以由圖5概括。

 

圖5:CIP上報(bào)

這樣的流程帶來(lái)的好處就是真實(shí)性,業(yè)務(wù)和IP的對(duì)應(yīng)關(guān)系無(wú)法偽造,這就給第三方驗(yàn)證帶來(lái)很大方便,這樣,登錄問(wèn)題就都自然而然地解決了。

同時(shí),在這個(gè)過(guò)程中,數(shù)據(jù)一致性回收也解決了,因?yàn)椋谡麄€(gè)系統(tǒng)里,Marathon做的是最完整、最準(zhǔn)確的信息,其它系統(tǒng)里的數(shù)據(jù)都可以和Marathon數(shù)據(jù)作比較,通過(guò)這樣的形式來(lái)保證所有系統(tǒng)的數(shù)據(jù)最終都是跟動(dòng)態(tài)部署的是保持一致的。

部署控制

 

圖6:部署控制

這是一個(gè)管理任務(wù)定義、生成部署任務(wù)、控制部署的過(guò)程,整合信息之后提供自動(dòng)化接口。

用戶界面

 

圖7:用戶界面

綠色表示已經(jīng)上線,白色表示未上線。管理員可以通過(guò)這個(gè)界面看到整個(gè)集群所有節(jié)點(diǎn)的狀態(tài),如果某個(gè)節(jié)點(diǎn)比如說(shuō)負(fù)載發(fā)生變化了,或者CPU反饋高了,就會(huì)在這個(gè)節(jié)點(diǎn)上做一些顏色的變化。

現(xiàn)狀和展望

從2014年到目前,小米已經(jīng)擁有2套集群,70多個(gè)節(jié)點(diǎn),5個(gè)業(yè)務(wù)上線(其中2個(gè)100%承載),321個(gè)常駐實(shí)例,主機(jī)利用率提高約50%〜60%。

未來(lái)小米要做有狀態(tài)的服務(wù),包括數(shù)據(jù)存儲(chǔ)、狀態(tài)保持、資源動(dòng)態(tài)調(diào)整,還要做一些類似VPC的部分。此外,容器的伸縮量也要擴(kuò)展,添加一些像日志分析結(jié)果等數(shù)據(jù)源。

***,黃繼表示,小米運(yùn)維團(tuán)隊(duì)的理念口號(hào)是Ops Make NoOps,把運(yùn)維的日常工作盡可能的自動(dòng)化起來(lái),減少手工運(yùn)維操作。

責(zé)任編輯:趙立京 來(lái)源: 51CTO
相關(guān)推薦

2012-05-05 22:10:13

puppet自動(dòng)化運(yùn)維

2013-06-09 10:38:54

IT運(yùn)維管理運(yùn)維管理ITIL管理

2013-12-03 18:31:43

SDN應(yīng)用編排資源管理

2015-03-02 09:21:03

運(yùn)維監(jiān)控系統(tǒng)小米

2015-11-03 16:03:09

AppDeploy運(yùn)維工具

2009-07-01 11:53:00

IT服務(wù)運(yùn)維管理數(shù)據(jù)

2021-08-10 07:27:41

Kubernetes運(yùn)維容器

2021-11-22 16:21:28

Kubernetes 運(yùn)維開源

2009-06-26 11:53:00

運(yùn)維管理數(shù)據(jù)中心北塔

2009-06-24 14:18:47

資源管理敏捷項(xiàng)目

2013-12-21 19:58:32

SDN應(yīng)用資源管理平臺(tái)SDN

2024-06-06 16:54:14

2023-12-15 15:14:10

yarn任務(wù)管理資源管理

2013-04-01 13:55:35

Android開發(fā)Android資源管理

2018-09-21 11:10:25

云計(jì)算數(shù)據(jù)中心數(shù)據(jù)驅(qū)動(dòng)

2019-07-03 10:57:03

大數(shù)據(jù)人力資源軟件

2025-04-30 05:00:00

批量運(yùn)維系統(tǒng)

2009-06-13 15:35:51

ITILIT運(yùn)維

2019-03-19 08:41:38

Linux運(yùn)維變更

2022-07-26 06:30:25

SREWorks云原生
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)