云計算架構(gòu)與部署(2020年v3.0)_第1頁
云計算架構(gòu)與部署(2020年v3.0)_第2頁
云計算架構(gòu)與部署(2020年v3.0)_第3頁
云計算架構(gòu)與部署(2020年v3.0)_第4頁
云計算架構(gòu)與部署(2020年v3.0)_第5頁
已閱讀5頁,還剩253頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

云計算架構(gòu)與部署

(中國聯(lián)通定制培訓(xùn))

2020年version3.0云計算概覽內(nèi)容簡介什么是云計算云計算實現(xiàn)模式云計算交付模式IaaS/PaaS/SaaS的定義什么是云計算云計算解決方案的特點:按需自助服務(wù)廣泛的網(wǎng)絡(luò)訪問資源池快速彈性測量服務(wù)云計算模式簡介混合云是一種將兩個單獨的云(公共云和私有云)綁定在一起的技術(shù),以組合和補充每個云提供的優(yōu)勢公共云是云服務(wù)提供商提供的供公眾訪問和使用的基礎(chǔ)架構(gòu),平臺或應(yīng)用程序服務(wù)私有云是一種私有的且受用戶自管理的云,其提供類似于公共云的優(yōu)點,但是被設(shè)計使得用戶在自己的數(shù)據(jù)中心管理和維護私有云的基礎(chǔ)設(shè)施數(shù)據(jù)應(yīng)用運行環(huán)境中間件網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)數(shù)據(jù)應(yīng)用運行環(huán)境中間件網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)數(shù)據(jù)應(yīng)用運行環(huán)境中間件網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)數(shù)據(jù)應(yīng)用運行環(huán)境中間件網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)IaaSPaaSSaaS本地部署云計算服務(wù)模式如何理解IaaSPaaS和SaaSIaaS目標(biāo)用戶是企業(yè)內(nèi)部架構(gòu)師,基于云平臺提供底層基礎(chǔ)架構(gòu)服務(wù)。PaaS目標(biāo)用戶是應(yīng)用開發(fā)者,提供各種預(yù)制的托管的開發(fā)環(huán)境。SaaS目標(biāo)客戶是終端用戶,為企業(yè)提供最終解決方案。

首先把云平臺高度抽象成一個無所不包而且取之不盡用之不竭的資源池。然后考慮我們的服務(wù)如何部署上去。到底該如何理解云平臺服務(wù)模式呢IaaS本質(zhì)上就是平臺給你交付一臺虛機,虛機的操作系統(tǒng)給裝好,用戶自己配置系統(tǒng),安裝應(yīng)用,搭建服務(wù)。按照責(zé)任分擔(dān)模型,以虛機操作系統(tǒng)為分界線,上面這些層次,用戶自己負責(zé),操作系統(tǒng)中病毒也是客戶的責(zé)任哦,操作系統(tǒng)以下的基礎(chǔ)架構(gòu)服務(wù)由平臺方交付。優(yōu)點:之前服務(wù)怎么裝怎么配現(xiàn)在還是一個樣,而且A平臺有問題,我換個地方重裝就是缺點:如果是跑虛機,我為啥不能自己跑快速理解IaaS數(shù)據(jù)應(yīng)用運行環(huán)境中間件網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)IaaSPaaS交付的平臺,也就是應(yīng)用程序運行所需的環(huán)境,如果你要一個DB放數(shù)據(jù),沒必要套一個數(shù)據(jù)庫服務(wù)器,如果要一個website,沒必要給你一個網(wǎng)站服務(wù)器。優(yōu)點:客戶只要填充數(shù)據(jù)和實現(xiàn)應(yīng)用就好,非常省心。缺點:隨著“標(biāo)準(zhǔn)化”的提升,用戶的選擇靈活性降低了快速理解PaaS數(shù)據(jù)應(yīng)用運行環(huán)境中間件網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)PaaS平臺都已經(jīng)把一切安排到位,用戶只要付錢開通服務(wù)賬號就行優(yōu)點:省心到極致缺點:還能費心定制定制嗎快速理解SaaS數(shù)據(jù)應(yīng)用運行環(huán)境中間件網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)SaaS網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)中間件運行環(huán)境數(shù)據(jù)應(yīng)用網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)中間件運行環(huán)境數(shù)據(jù)應(yīng)用網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)中間件運行環(huán)境數(shù)據(jù)應(yīng)用網(wǎng)絡(luò)存儲服務(wù)器虛擬化操作系統(tǒng)中間件運行環(huán)境數(shù)據(jù)庫應(yīng)用私有云計算(laaS、PaaS)實例1)如果你自己買了服務(wù)器,要托管在集團數(shù)據(jù)中心:2)你直接向數(shù)據(jù)中心申請服務(wù)器資源:3)如果有需要,數(shù)據(jù)中心連中間件和運行環(huán)境也提供:4)我們的數(shù)據(jù)中心,甚至可以直接提供數(shù)據(jù)庫資源:我們把服務(wù)高度抽象成兩類有狀態(tài):狀態(tài)需要保持,例如數(shù)據(jù)庫無狀態(tài):狀態(tài)不需要保持,例如前端web服務(wù)器服務(wù)的類型縱向擴展scaleup橫向擴展scaleout服務(wù)可用性從可用性角度考慮:無狀態(tài)應(yīng)用通過橫向擴展提升可用性有狀態(tài)應(yīng)用通過縱向擴展提升可用性很顯然無狀態(tài)的服務(wù)特別匹配云平臺,可以考慮優(yōu)先將此類服務(wù)遷移/部署到云平臺那些服務(wù)可以優(yōu)先上云受法律法規(guī)限制的服務(wù),如醫(yī)學(xué)影像資料被特定硬件限制的服務(wù),如加密狗需要CPU和內(nèi)存緊密交互的服務(wù),如12306不適應(yīng)遷移到云上的服務(wù)如果不著急,舊服務(wù)可以保持原狀,或者以IaaS的方式進行遷移,可以保證穩(wěn)妥。對于新服務(wù),就必須有個考慮,以何種方式部署到云?以IaaS方式部署,屬于舊瓶裝新酒。以PaaS方式部署,靈活性又在哪里所以痛點就是PaaS缺乏統(tǒng)一的標(biāo)準(zhǔn)新服務(wù)如何部署基準(zhǔn)代碼:一份基準(zhǔn)代碼,多份部署依賴:顯式聲明依賴關(guān)系配置:在環(huán)境中存儲配置后端服務(wù):把后端服務(wù)當(dāng)作附加資源構(gòu)建,發(fā)布,運行:嚴(yán)格分離構(gòu)建和運行進程:以一個或多個無狀態(tài)進程運行應(yīng)用端口綁定:通過端口綁定提供服務(wù)易處理:快速啟動和優(yōu)雅終止可最大化健壯性開發(fā)環(huán)境與線上環(huán)境等價:盡可能的保持開發(fā),預(yù)發(fā)布,線上環(huán)境相同日志:把日志當(dāng)作事件流管理進程:后臺管理任務(wù)當(dāng)作一次性進程運行云原生原則—12-factor容器即服務(wù)CaaS增加了容器層,符合原生應(yīng)用的要求,buildoncerunanywhere公有云平臺都支持容器化應(yīng)用,所以跨云遷移不再困難對于私有云平臺,可以借助CaaS實現(xiàn)PaaS功能快速理解容器即服務(wù)CaaSServerless的一種實現(xiàn)方式,代碼邏輯由開發(fā)者完成,但是托管運行在第三方云平臺上,由事件驅(qū)動,短時執(zhí)行(甚至只有一次調(diào)用)架構(gòu)特點:用戶僅需關(guān)心代碼,不需要考慮基礎(chǔ)架構(gòu)不需要特定的框架和庫,可以適配所有的語言上傳代碼,使用API進行初始化云平臺負責(zé)執(zhí)行自動化和彈性的水平擴展代碼的運行由云平臺提供的消息類型觸發(fā)通常由API網(wǎng)關(guān)啟動觸發(fā)優(yōu)勢:更細顆粒度的計算資源分配彈性伸縮高可用沒有閑置損耗其實還沒完,還有FaaS媽媽再也不擔(dān)心我封裝服務(wù)了BDaaS:大數(shù)據(jù)即服務(wù)DaaS:桌面即服務(wù)Dbaas:數(shù)據(jù)庫及服務(wù)HaaS:硬件即服務(wù)IDaaS:身份即服務(wù)NaaS:網(wǎng)絡(luò)即服務(wù)…………Xaas:一切皆服務(wù)更多的XaaS深入了解云平臺服務(wù)模式

內(nèi)容一覽IaaS核心服務(wù)及場景演示PaaS核心服務(wù)及場景演示SaaS核心服務(wù)及場景演示其他類型云服務(wù)IAAS(InfrastructureasaService)基礎(chǔ)設(shè)施即服務(wù):以服務(wù)的形式提供服務(wù)器、存儲和網(wǎng)絡(luò)硬件以及相關(guān)軟件。它是三層架構(gòu)的最底層,是指企業(yè)或個人可以使用云計算技術(shù)來遠程訪問計算資源,這包括計算、存儲以及應(yīng)用虛擬化技術(shù)所提供的相關(guān)功能。無論是最終用戶、SAAS提供商還是PAAS提供商都可以從基礎(chǔ)設(shè)施服務(wù)中獲得應(yīng)用所需的計算能力,但卻無需對支持這一計算能力的基礎(chǔ)IT軟硬件付出相應(yīng)的原始投資成本。

IAAS定義基礎(chǔ)設(shè)施即服務(wù)(實用計算、虛擬化)IaaS——InfrastructureasaService

位于云計算3層服務(wù)的最底端,把IT基礎(chǔ)設(shè)施像水、電一樣以服務(wù)的形式提供給用戶,以服務(wù)形式提供基于服務(wù)器和存儲等硬件資源的可高度擴展和按需變化的IT能力。通常按照所消耗資源的成本進行收費。該層提供的是基本的計算和存儲能力,以計算能力的提供為例,其提供的基本單元就是服務(wù)器,包含CPU、內(nèi)存、存儲、操作系統(tǒng)及一些軟件。

laaS提供服務(wù)的架構(gòu)InternetInternet映像管理資源部署服務(wù)目錄&門戶服務(wù)管理用量計量&計費統(tǒng)計報表資源性能管理瀏覽器用戶用戶物理系統(tǒng)云計算服務(wù)Telnet,ftp,...云主機云存儲云主機網(wǎng)絡(luò)資源申請資源訪問物理資源的轉(zhuǎn)變資源管理瀏覽器云存儲云主機服務(wù)器網(wǎng)絡(luò)存儲服務(wù)器和存儲刀片服務(wù)器開放異構(gòu)的硬件應(yīng)用特點完全操作系統(tǒng)(軟硬件)接入云存儲有限權(quán)限的網(wǎng)絡(luò)組件(防火墻、路由器、負載平衡器)的控制優(yōu)勢節(jié)省費用靈活,可隨時擴展和收縮資源安全可靠專注核心業(yè)務(wù)IAAS應(yīng)用特點及優(yōu)勢PAAS(PlatformasaService)平臺即服務(wù):以服務(wù)的方式提供應(yīng)用程序開發(fā)和部署平臺。就是指將一個完整的計算機平臺,包括應(yīng)用設(shè)計、應(yīng)用開發(fā)、應(yīng)用測試和應(yīng)用托管,都作為一種服務(wù)提供給客戶。在這種服務(wù)模式中,客戶不需要購買硬件和軟件,只需要利用PAAS平臺,就能夠創(chuàng)建、測試和部署應(yīng)用和服務(wù)。PAAS定義平臺即服務(wù)PaaS——PlatformasaService

PaaS位于云計算3層服務(wù)的最中間。通常也稱為"云計算操作系統(tǒng)"。它提供給終端用戶基于互聯(lián)網(wǎng)的應(yīng)用開發(fā)環(huán)境,包括應(yīng)用編程接口和運行平臺等,并且支持應(yīng)用從創(chuàng)建到運行整個生命周期所需的各種軟硬件資源和工具。通常按照用戶或登錄情況計費。在PaaS層面,服務(wù)提供商提供的是經(jīng)過封裝的IT能力,或者說是一些邏輯的資源,比如數(shù)據(jù)庫、文件系統(tǒng)和應(yīng)用運行環(huán)境等。應(yīng)用特點復(fù)雜多租戶應(yīng)用已有應(yīng)用的兼容構(gòu)建復(fù)合應(yīng)用優(yōu)勢開發(fā)簡單部署簡單維護簡單PAAS應(yīng)用特點及優(yōu)勢谷歌AppEngine平臺。AppEngine是Google提供的基于Google數(shù)據(jù)中心的開發(fā)、托管網(wǎng)絡(luò)應(yīng)用程序的平臺,每個GoogleAppEngine應(yīng)用程序都可使用500MB存儲空間,以及可支持每月約500萬頁面瀏覽量的CPU和寬帶。目前每個用戶可以免費創(chuàng)建十個應(yīng)用。微軟的Azure平臺。主機位于微軟的數(shù)據(jù)中心,是一個基于Internet的云服務(wù)平臺。提供操作系統(tǒng)和一系列的開發(fā)服務(wù),各種服務(wù)可進行自由組合。PAAS應(yīng)用實例PaaS功能演示SAAS(SoftwareasaService)軟件即服務(wù):以服務(wù)的方式將應(yīng)用程序提供給互聯(lián)網(wǎng)最終用戶。它是用戶獲取軟件服務(wù)的一種新形式,不需要用戶將軟件產(chǎn)品安裝在自己的電腦或服務(wù)器上,而是按某種服務(wù)水平協(xié)議(SLA)直接通過網(wǎng)絡(luò)向?qū)iT的提供商獲取自己所需要的、帶有相應(yīng)軟件功能的服務(wù)。本質(zhì)上而言,軟件即服務(wù)就是軟件服務(wù)提供商為滿足用戶某種特定需求而提供其消費的軟件的計算能力。SAAS定義軟件即服務(wù)SaaS——SoftwareasaService

這是最常見的云計算服務(wù),位于云計算3層服務(wù)的頂端。用戶通過標(biāo)準(zhǔn)的Web瀏覽器來使用Internet上的軟件。服務(wù)供應(yīng)商負責(zé)維護和管理軟硬件設(shè)施,并以免費(提供商可以從網(wǎng)絡(luò)廣告之類的項目中生成收入)或按需租用方式向最終用戶提供服務(wù)。這類服務(wù)既有面向普通用戶的,諸如GoogleCalendar和Gmail;也有直接面向企業(yè)團體的,用以幫助處理工資單流程、人力資源管理、協(xié)作、客戶關(guān)系管理和業(yè)務(wù)合作伙伴關(guān)系管理等。這些SaaS提供的應(yīng)用程序減少了客戶安裝和維護軟件的時間和技能等代價,并且可以通過按使用付費的方式來減少軟件許可證費用的支出。應(yīng)用特點在中小企業(yè)盛行無需管理軟硬件服務(wù)主要通過瀏覽器實現(xiàn)優(yōu)勢簡單初始成本低無需管理與維護免費試用SAAS應(yīng)用特點及優(yōu)勢應(yīng)用實例CRM軟件領(lǐng)域工具化SAAS,比如視頻會議租用,企業(yè)郵箱等在線進銷存,物流軟件等SAAS應(yīng)用實例SaaS功能演示這三種模式都是采用外包的方式,減輕企業(yè)負擔(dān),降低管理、維護服務(wù)器硬件、網(wǎng)絡(luò)硬件、基礎(chǔ)架構(gòu)軟件和應(yīng)用軟件的人力成本。從更高的層次上看,它們都試圖去解決同一個商業(yè)問題——用盡可能少甚至是為零的資本支出,獲得功能、擴展能力、服務(wù)和商業(yè)價值。實際上當(dāng)某種云計算的模式獲得了成功,這三者之間的界限就會進一步模糊。成功的SAAS或IAAS服務(wù)可以很容易地延伸到平臺領(lǐng)域??偨Y(jié)云平臺網(wǎng)絡(luò)功能設(shè)計云計算平臺對網(wǎng)絡(luò)的需求軟件虛擬化發(fā)展概述SDN基礎(chǔ)知識Overlay技術(shù)概述OpenFlow技術(shù)概述主要內(nèi)容

什么是SDN?解耦控制平面和數(shù)據(jù)平面邏輯上集中網(wǎng)絡(luò)智能和狀態(tài)將底層網(wǎng)絡(luò)基礎(chǔ)設(shè)施從應(yīng)用中抽象出來在通用硬件上執(zhí)行和運行控制平面軟件解耦傳統(tǒng)網(wǎng)絡(luò)設(shè)備固件使用商用服務(wù)器和交換機數(shù)據(jù)平面可編程集中維護、控制數(shù)據(jù)平面及對數(shù)據(jù)平面狀態(tài)編程SDN結(jié)構(gòu)不僅限于控制單個網(wǎng)絡(luò)設(shè)備,而是控制整個網(wǎng)絡(luò)SDN至于企業(yè)的意義超大型云計算平臺:在低成本硬件上自己開發(fā)軟件(Google)希望用到自定義的功能和協(xié)議(Yahoo)白盒硬件+開源軟件(Facebook)普通用戶需求更快速的軟件開發(fā)可編程網(wǎng)絡(luò)模塊快速就位集中化管理SDN的起源和大事件2006年:斯坦福大學(xué)的博士生馬丁·卡薩多(MartinCasado)和團隊提出了新的安全架構(gòu)(SANE),定義了集中的安全控制(而非邊緣)結(jié)構(gòu)。2008:SDN的理念由OpenFlow項目引發(fā)2009:斯坦福大學(xué)發(fā)布OpenFlowV1.0.0規(guī)范2009年6月:MartinCasado聯(lián)合創(chuàng)建了Nicira2011年3月:OpenNetworkingFoundation組織成立2011年11月:第一屆開放網(wǎng)絡(luò)峰會(OpenNetworkingSummit)召開。Juniper,Cisco宣布加入2012年7月:VMWare收購NiciraGoogle

SDN帶來的啟發(fā)Google面臨的問題:百萬臺量級的服務(wù)器管理開銷巨大:硬件和軟件升級冗余設(shè)計帶來的硬件量升級海量備份占用巨大的流量花費大量時間管理獨立的交換機人海戰(zhàn)術(shù)管理架構(gòu)鏈路故障,重建鏈路導(dǎo)致延誤鏈路故障,重建路由表緩慢。難以預(yù)測新網(wǎng)絡(luò)的部署Google一馬當(dāng)前使用SDN在低成本硬件上自己獨立開發(fā)網(wǎng)絡(luò)系統(tǒng)軟件,用在自己的大型數(shù)據(jù)中心

驗證了SDN可以用在生產(chǎn)環(huán)境,甚至是大型數(shù)據(jù)中心,尚屬首例,行業(yè)重新審視SDN。

主流SDN組織2大SDN組織:OpenNetworkingFoundation-ONF:由Microsoft,Google,Facebook聯(lián)合提出和發(fā)起,成立于2011年,推動SDN的標(biāo)準(zhǔn)化的非營利性組織,目前已經(jīng)制定了OpenFlow協(xié)議和OF-Config版本的標(biāo)準(zhǔn)OpenDaylight-ODL:于2013年成立,由Brocade,

Cisco,Citrix,IBM,Juniper,RedHat,Microsoft,VMWare,HP,Intel,

Ericsson等18家廠商發(fā)起。2大SDN組織的區(qū)別:ONFODL目標(biāo)制定SDN標(biāo)準(zhǔn),推動SDN產(chǎn)業(yè)化打造統(tǒng)一開放的SDN平臺,推動SDN產(chǎn)業(yè)化主要任務(wù)制定唯一的南向接口標(biāo)準(zhǔn)OpenFlow,制定硬件轉(zhuǎn)發(fā)行為規(guī)則不制定任何標(biāo)準(zhǔn),打造一個SDN系統(tǒng)平臺,利用現(xiàn)有一些技術(shù)作為南向接口與OpenFlow的關(guān)系其唯一的南向接口包括OpenFlow1.0、1.3,BGP-LS等,OpenFlow是其南向接口之一,北向接口暫無任何北向接口標(biāo)準(zhǔn)化定義了一套北向接口API南向接口使用OpenFlow定義轉(zhuǎn)發(fā)平面標(biāo)準(zhǔn)行為不涉及任何轉(zhuǎn)發(fā)平面工作SDN分類和結(jié)構(gòu)傳統(tǒng)網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)網(wǎng)絡(luò)軟件結(jié)構(gòu)管理平面控制平面—大腦/決策者數(shù)據(jù)平面—數(shù)據(jù)包轉(zhuǎn)發(fā)器以太交換機控制路徑(軟件)數(shù)據(jù)路徑(軟件)SDN-網(wǎng)絡(luò)發(fā)生解耦和分離交換機控制平面數(shù)據(jù)平面分離SDN解耦的主要部份網(wǎng)絡(luò)操作系統(tǒng)路由流量工程其他應(yīng)用已知API②網(wǎng)絡(luò)圖抽象轉(zhuǎn)發(fā)轉(zhuǎn)發(fā)轉(zhuǎn)發(fā)轉(zhuǎn)發(fā)③數(shù)據(jù)平面和控制平面分離①網(wǎng)絡(luò)虛擬化安全數(shù)據(jù)平面控制平面應(yīng)用平面指令指令指令指令SDN結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用網(wǎng)絡(luò)應(yīng)用管理平面控制平面數(shù)據(jù)平面控制平面和數(shù)據(jù)平面分離可編程接口差異化、個性化加速新功能及服務(wù)的迭代集中網(wǎng)絡(luò)智能簡化創(chuàng)建優(yōu)化性能更細顆粒度的管理松耦合及分離軟硬件松耦合控制平面和數(shù)據(jù)平面分離物理和邏輯配置分離SDN控制器是SDN網(wǎng)絡(luò)的邏輯控制中心通過南向接口與交換機連接,提供網(wǎng)絡(luò)指令,目前比較熱的ONF的Openflow協(xié)議,IETF的ForCES協(xié)議,還有OVS使用的OVSDB等等,都是定義控制平面與數(shù)據(jù)平面分離之后使用的通信協(xié)議通過北向接口與應(yīng)用連接,向上提供資源抽象,實現(xiàn)軟件可編程控制的網(wǎng)絡(luò)架構(gòu),目前尚未形成統(tǒng)一標(biāo)準(zhǔn),常見的北向接口有RestfulAPI、RPC、Java等下一個目標(biāo)是控制平面的擴展性問題,也就是多個設(shè)備的控制平面之間如何協(xié)同工作SDN控制器產(chǎn)品分兩類:一類是推出商用級產(chǎn)品的廠商CiscoXNC/ACI,JuniperContrail,NECProgrammableFlow等另一類是較大開源社區(qū)中打算開發(fā)SDN控制器軟件的開源項目/組織SDN控制器“Overlay”SDN和“Underlay"SDNOverlaySDN更多指的是以軟件廠家為代表的SDN解決方案,比如VMwareNSX,MicrosoftHNV,JuniperContrail,OverlaySDN構(gòu)建于現(xiàn)有Underlay網(wǎng)絡(luò)基礎(chǔ)之上。OverlaySDN使用VXLAN,STT和NVGRE封裝原始數(shù)據(jù)包(帶有Payload),并在虛擬交換機內(nèi)部或者支持的物理交換機上創(chuàng)建隧道終點(VTEP或者HNVFilter等),使用Underlay網(wǎng)絡(luò)進行隧道傳輸優(yōu)勢—使用隧道很好的隔離租戶,保證大量租戶的網(wǎng)絡(luò)重復(fù)但是不沖突,對Underlay隱藏租戶網(wǎng)絡(luò)。UnderlaySDN更多指的是以硬件廠家為代表的SDN解決方案,比如OpenFlow,這類SDN對底層網(wǎng)絡(luò)結(jié)構(gòu)進行重新布局和配置。SDN控制器

負責(zé)集中操作網(wǎng)絡(luò)組件的配置,確??刂破鞅毕蚪涌贏PI得到正確的組織。優(yōu)勢1—沉淀了多年的網(wǎng)絡(luò)、網(wǎng)絡(luò)架構(gòu)、配置路徑和鏈路等知識,可以使用到復(fù)雜的路由算法提高網(wǎng)絡(luò)結(jié)構(gòu)效率。

優(yōu)勢2—SDN控制器對網(wǎng)絡(luò)流量的控制更為準(zhǔn)確

,對于排錯效率,影響分析和安全都有很大的幫助。實現(xiàn)SDN的4種方式控制平面和數(shù)據(jù)平面分離比如OpenFlow控制或管理平面交互現(xiàn)有或者新的控制平面協(xié)議,比如BGP,BGPFlowSpec,I2RS等現(xiàn)有或者新的管理平面協(xié)議,比如NETCONF,XMPP,OpFlex解耦和抽離Overlay虛擬網(wǎng)絡(luò)使用傳統(tǒng)網(wǎng)絡(luò)設(shè)備供應(yīng)商提供的API比如JuniperSDK,CiscoOnePK,AristaeAPI,F5iControl等

Overlay網(wǎng)絡(luò)的意義技術(shù)層面超越4096VLAN的限制位置和ID分離,Overlay結(jié)構(gòu)里,設(shè)備移動時仍保留ID結(jié)合分布式路由技術(shù)減少路由路徑設(shè)備移動后ID不變IPcoreIP地址代表ID和位置設(shè)備移動后,ID和位置都發(fā)生變化IP地址代表ID和位置IPcore僅位置發(fā)生變化UnderlayOverlay網(wǎng)絡(luò)虛擬化平臺A-子網(wǎng)/24B-子網(wǎng)/24C-子網(wǎng)/24IP虛擬化收益靈活自定義自己網(wǎng)絡(luò)公有云租戶地址的重復(fù)租戶自帶IP到公有云Overlay協(xié)議目前已經(jīng)廣泛在使用的VXLANNVGRESTT新的協(xié)議Geneve-GenericNetworkVirtualizationEncapsulation3種常用的Overlay協(xié)議比較VXLANNVGRESTT提出者Cisco、VMWareMicrosoftNicira適用場景物理或虛擬交換機物理或虛擬交換機物理或虛擬交換機原理MACinUDPMACinGRETCPoverIP優(yōu)勢可以更好地進行負載均衡可以利用現(xiàn)有技術(shù),大多設(shè)備都支持GRE可以依靠網(wǎng)卡對包分片,降低CPU負擔(dān)劣勢需要新購或者升級硬件/軟件設(shè)備來支持有些設(shè)備不支持用GREKey做負載均衡Nicira私有協(xié)議,且不能用于硬件交換機什么是OpenFlow?OpenFlow類似于x86服務(wù)器的指令集,用于管理網(wǎng)絡(luò)設(shè)備。提供開放的接口對“黑盒”網(wǎng)絡(luò)設(shè)備(如路由器和2/3層交換機)進行管理,達到對網(wǎng)絡(luò)的可視性和開放性。OpenFlow交換機的數(shù)據(jù)路徑包含一個或者多個流表(FlowTable),每個流(Flow)入口關(guān)聯(lián)了一個操作;控制路徑包含了用于編程流表流入口的控制器。分離控制平面和數(shù)據(jù)平面集中控制網(wǎng)絡(luò)設(shè)備(不同品牌和型號)全局網(wǎng)絡(luò)視圖從交換機獲取狀態(tài)信息發(fā)送控制指令到交換機基于流(Flow)進行控制利用以太網(wǎng)交換機和路由器中的路由表SDN并不是OpenFlow,OpenFlow是SDN的解決方案之一SDN是分離物理網(wǎng)絡(luò)數(shù)據(jù)平面和控制平面、網(wǎng)絡(luò)虛擬化等的概念集合OpenFlow是SDN結(jié)構(gòu)中網(wǎng)絡(luò)控制平面和網(wǎng)絡(luò)設(shè)備通信的接口

直接訪問和控制物理層及虛擬層的交換機/路由器的轉(zhuǎn)發(fā)平面OpenFlow是一種協(xié)議,和在控制器接口和交換機中使用的協(xié)議類似。OpenFlow

協(xié)議數(shù)據(jù)路徑(硬件)控制路徑OpenFlow控制平面(網(wǎng)絡(luò)OS)應(yīng)用A應(yīng)用B數(shù)據(jù)平面數(shù)據(jù)路徑(硬件)控制路徑OpenFlow應(yīng)用層控制層基礎(chǔ)結(jié)構(gòu)層應(yīng)用網(wǎng)絡(luò)服務(wù)網(wǎng)絡(luò)服務(wù)OpenFlow網(wǎng)絡(luò)應(yīng)用網(wǎng)絡(luò)應(yīng)用管理平面(應(yīng)用層)控制平面(控制層)數(shù)據(jù)平面(基礎(chǔ)結(jié)構(gòu)層)控制平面和數(shù)據(jù)平面分離OpenFlow和SDN結(jié)構(gòu)的相似之處可編程接口差異化、個性化加速新功能及服務(wù)的迭代集中網(wǎng)絡(luò)智能簡化創(chuàng)建優(yōu)化性能更細顆粒度的管理松耦合及分離軟硬件松耦合控制平面和數(shù)據(jù)平面分離物理和邏輯配置分離OpenFlow結(jié)構(gòu)SDN結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用網(wǎng)絡(luò)應(yīng)用管理平面控制平面數(shù)據(jù)平面基于語言的虛擬化編程語言網(wǎng)絡(luò)應(yīng)用程序網(wǎng)絡(luò)虛擬化網(wǎng)絡(luò)操作系統(tǒng)北向接口網(wǎng)絡(luò)基礎(chǔ)架構(gòu)南向接口到管理平面或應(yīng)用的API,開放發(fā)布、無標(biāo)準(zhǔn),基于軟件體系網(wǎng)絡(luò)虛擬化軟件(FlowVisor),隱藏復(fù)雜性、向下級管理員委派管理子網(wǎng)、實現(xiàn)多個控制器和一組交換機對話、隔離實驗和測試環(huán)境、虛擬化網(wǎng)絡(luò)模型(如拓撲、路由等)OpenFlow詳細結(jié)構(gòu)決策和發(fā)送指令路由、負載均衡和安全執(zhí)行SDN所需的編程語言、抽象和接口,確保單一應(yīng)用的多個任務(wù)互相之間不干擾,提供高級編程接口避免低層指令和配置BigDataApps:優(yōu)化網(wǎng)絡(luò)使用率CloudNaaS:云應(yīng)用的網(wǎng)絡(luò)基元,NOX控制器FlowComb:預(yù)測應(yīng)用負載,使用NOXFlowDiff:檢測運行問題,F(xiàn)lowVisor控制器LIME:實時網(wǎng)絡(luò)遷移,F(xiàn)loodLight控制器NetGraph:網(wǎng)絡(luò)管理圖表查詢,使用自己的控制器OpenTCP:動態(tài)和可編程的TCP引用,使用自己的控制器。所有的組件都使用OpenFlow與交換機進行通信,OpenTCP除外部分支持OpenFlow的網(wǎng)絡(luò)設(shè)備(待更新)CienaCoredirectorNECIP8800JuniperMX-seriesHPProcurve5400Pronto3240/3290WiMax(NEC)PCEnginesNetgear732463傳統(tǒng)交換機/路由器轉(zhuǎn)發(fā)鄰居路由器路由器管理/策略平面配置/命令行/圖形靜態(tài)路由控制平面BGP/ISIS/OSPF鄰居表鏈路狀態(tài)數(shù)據(jù)IP路由表轉(zhuǎn)發(fā)表數(shù)據(jù)平面數(shù)據(jù)平面控制平面BGP/ISIS/OSPF鄰居路由器數(shù)據(jù)平面控制平面BGP/ISIS/OSPF路由交換功能固化暴露執(zhí)行細節(jié)非標(biāo)準(zhǔn)/非現(xiàn)成的狀態(tài)管理API包入站2層表+VLAN3層表VRFACL/QoS端口組包出站ABCOpenFlow交換機轉(zhuǎn)發(fā)包入站流表包出站ABC流表流表交換機/路由器OpenFlow數(shù)據(jù)平面MAC學(xué)習(xí)路由算法指令檢測系統(tǒng)負載均衡控制平面:SDN控制器流表使用安全通道通信網(wǎng)絡(luò)應(yīng)用程序規(guī)則操作狀態(tài)數(shù)據(jù)包+計數(shù)器將數(shù)據(jù)包轉(zhuǎn)發(fā)到端口封裝并轉(zhuǎn)發(fā)到控制器丟棄數(shù)據(jù)包發(fā)送到正常處理管道交換機端口源MAC地址目標(biāo)MAC以太類型交換機端口源IP目標(biāo)IP源TCP端口目標(biāo)TCP端口匹配數(shù)據(jù)包頭流表(包含3個部分)流表OpenFlow如何工作?使用以下交換機中的流表控制器管理流量(網(wǎng)絡(luò)流)存儲在流表的指令當(dāng)數(shù)據(jù)包到達交換機時,將報頭字段與流表中的流條目進行匹配。如果有匹配的條目,則執(zhí)行所指示的操作并更新計數(shù)器。如果不匹配,交換機通過發(fā)送數(shù)據(jù)包頭的消息來詢問控制器??刂破髁鞅戆踩ǖ繮COpenFlow協(xié)議TCP/TLS硬件軟件①66OpenFlow網(wǎng)絡(luò)組件①OpenFlow控制器通過OpenFlow通道管理一個或多個交換機使用OpenFlow協(xié)議和支持OpenFlow的交換機通信和傳統(tǒng)交換機控制平面角色一樣為北向接口的應(yīng)用提供網(wǎng)絡(luò)范圍的抽象在OpenFlow交換機里編程不同的表交換機可以被多臺做成負載均衡的控制器管理,控制器既可以是Master和Slave或者Equal②OpenFlow通道用于交換機和控制器之間交換消息交換機可以建立單一或者多個連接到相同或不同的控制器控制器配置和管理交換機,并從交換機上接收事件和數(shù)據(jù)安全通道基于TLS/TCP連接,交換機和控制器通過交換由站點交換機私鑰頒發(fā)的證書進行相互驗證③OpenFlow交換機包含一到多個流表、組表和計量表單一交換機可以被一個或多個控制器管理

在查找和轉(zhuǎn)發(fā)階段將用到流表和組表,以將數(shù)據(jù)包轉(zhuǎn)發(fā)到正確的端口計量表既可用于簡單的QoS操作如限速(RateLimiting),又可用于復(fù)雜的QoS操作如DiffServ②③OpenFlow控制器軟件IRIS:(Java語言)擴展性和高可用MUL:(C語言)SDN)控制器,基于C語言,具備多線程基礎(chǔ)架構(gòu)NOX:(C++/Python語言)NOX是第一個OpenFlowJaxon:(Java語言)Jaxon是基于Java語言寫的依賴于NOX的OpenFlow控制器Trema:(C/Ruby語言)Trema,基于C和Ruby語言,用于開發(fā)OpenFlow控制器的全棧框架Beacon:(Java語言)Beacon支持基于事件和線程操作

Floodlight:(Java語言)是由Beacon控制器的分之,最初由Stanford的DavidErickson開發(fā)。其他OpenFlow交換機軟件Indigo:運行在MacOSX,開源LINC:運行在Linux,Solaris,Windows,MacOS和FreeBSD,開源Pantou:將商業(yè)無限路由/訪問設(shè)備轉(zhuǎn)為OpenFlow交換機,

運行在OpenWRTOf13softswitch:用戶空間軟件交換機,

基于EricssonTrafficLab1.1軟交換機OpenvSwitch:開源,使用較為廣泛OpenVSwitchSwitch-OVS軟件開源虛擬交換機基于Nicira概念既可以是單獨的虛擬交換機,也可以是跨多臺物理機的分布式虛擬交換機。內(nèi)置于XenServer6.0,Xen云平臺并支持ProxmoxVE,VirtualBox,XenKVM.集成在多個云管理系統(tǒng),比如OpenStack,openQRM,OpenNebula和oVirt.和Ubuntu,Debian,FedoraLinux和FreeBSD一起發(fā)布OpenFlow交換機OpenFlow交換機OpenFlow交換機控制器1控制器2OpenFlow交換機和控制器常規(guī)拓撲采用網(wǎng)絡(luò)虛擬化(FlowVisor)的OpenFlow拓撲OpenFlow協(xié)議OpenFlowFlowVisor&PolicyControl廣播多播OpenFlow協(xié)議http負載均衡OpenFlow交換機OpenFlow交換機OpenFlow交換機dl_dst=FFFFFFFFFFFFtp_src=80,or

tp_dst=80OpenFlow部署結(jié)構(gòu)轉(zhuǎn)發(fā)硬件軟件控制轉(zhuǎn)發(fā)硬件軟件控制轉(zhuǎn)發(fā)硬件軟件控制轉(zhuǎn)發(fā)硬件軟件控制轉(zhuǎn)發(fā)硬件軟件控制轉(zhuǎn)發(fā)硬件OpenFlow轉(zhuǎn)發(fā)硬件OpenFlow轉(zhuǎn)發(fā)硬件OpenFlow轉(zhuǎn)發(fā)硬件OpenFlow轉(zhuǎn)發(fā)硬件OpenFlow軟件控制分布式存儲存儲發(fā)展簡史1980s個人電腦1960s大型機1990s互聯(lián)網(wǎng)2000s移動互聯(lián)網(wǎng)2010s

大數(shù)據(jù),云計算分布式存儲最早誕生在互聯(lián)網(wǎng)行業(yè),隨著技術(shù)的產(chǎn)品化成熟,越來越多的企業(yè)級用戶也在嘗試,將傳統(tǒng)的業(yè)務(wù)遷移到彈性,靈活的分布式存儲資源池IBMDS8000EMCVMAXHuawei180001956年世界第一臺磁盤存儲系統(tǒng)IBM305磁盤介質(zhì)取代打孔卡,容量5MB讀寫速率10K/s1980年,薄膜磁頭技術(shù),性能飛躍,容量8*2.52GB讀寫速率3MB/s1993年EMCSymmetrix16MBDRAM,1GBGlobalMemory,容量1TB,HypervolumeExtensionIAAS2.0以服務(wù)器、SAN/NAS為主TB時代,GB/sIAAS1.0以主機和終端、DAS為主GB時代,MB/sIAAS3.0以云服務(wù)、移動寬帶網(wǎng)絡(luò)、大數(shù)據(jù)分析、社交網(wǎng)絡(luò)技術(shù)為依托PB時代,10~100GB/s,分布式架構(gòu)存儲基本概念-----RAIDRAID(RedundantArrayofIndependentDisks)即獨立磁盤冗余陣列,RAID將多個單獨的物理硬盤以不同的方式組合成一個邏輯硬盤,從而提高了硬盤的讀寫性能和數(shù)據(jù)安全性RAID5和RAID10計算機發(fā)展初期,大容量硬盤價格非常高,而需要存儲的數(shù)據(jù)量越來越大容量性能CPU運算速度飛速提高,數(shù)據(jù)讀寫速度不應(yīng)該成為計算機系統(tǒng)處理的瓶頸信息時代,數(shù)據(jù)對企業(yè)和個人的重要性越來越大,數(shù)據(jù)存儲安全更需要保障RAID可靠性槽點:RAID橫行30年,技術(shù)越來越復(fù)雜,維護難度加大存儲基本概念-----物理卷與邏輯卷物理卷由幾個硬盤通過RAID方式組成,從整體上看相當(dāng)于一個盤組在物理卷的基礎(chǔ)上可以按照指定容量創(chuàng)建一個或多個邏輯卷,通過LUN(LogicUnitNumber)來標(biāo)識槽點:卷管理的概念,既在存儲設(shè)備中存在,也在主機操作系統(tǒng)中使用,因此傳統(tǒng)塊存儲的IO層級較為復(fù)雜,維護工作量較大RAID10RAID5物理卷物理卷邏輯卷邏輯卷單個物理卷上創(chuàng)建1個邏輯卷單個物理卷上創(chuàng)建2個邏輯卷LUN1LUN2LUN3存儲基本概念---磁盤陣列控制器是磁盤陣列的“大腦”,主要部件為處理器和緩存,最先主要實現(xiàn)簡單IO操作、RAID管理功能,隨著技術(shù)發(fā)展,能夠提供各種各樣的數(shù)據(jù)管理功能,如快照、鏡像、復(fù)制等磁盤柜包含了多塊的磁盤,本身既沒有處理器,也沒有緩存,RAID及數(shù)據(jù)管理功能通過控制器實現(xiàn)槽點:中高端存儲經(jīng)過crossbar架構(gòu)、全點對點總線架構(gòu)等演進,掌握架構(gòu)基本靠想象,黑盒子形成控制器磁盤柜磁盤線纜存儲基本概念---DAS、NAS、SAN

主機DASFCSAN應(yīng)用文件/操作系統(tǒng)I/O重定向器TCP/IP協(xié)議棧NFS/CIFS網(wǎng)絡(luò)接口卡

主機文件處理I/ONASIPNetwork網(wǎng)絡(luò)接口卡TCP/IP協(xié)議棧NFS/CIFS文件系統(tǒng)+邏輯卷管理器數(shù)據(jù)管理系統(tǒng)RAID塊處理I/O設(shè)備驅(qū)動應(yīng)用邏輯卷管理器裸卷SCSI設(shè)備驅(qū)動塊處理I/OIPSAN應(yīng)用邏輯卷管理器裸卷iSCSILayerTCP/IPStack網(wǎng)絡(luò)接口卡

主機塊處理I/O塊處理I/OIPNetworkFCNetwork網(wǎng)絡(luò)接口卡TCP/IP協(xié)議棧數(shù)據(jù)管理系統(tǒng)RAID塊處理I/OFC總線卡FC協(xié)議棧數(shù)據(jù)管理系統(tǒng)RAID塊處理I/O應(yīng)用邏輯卷管理器裸卷SCSI設(shè)備驅(qū)動FC協(xié)議棧FC總線卡設(shè)備驅(qū)動設(shè)備驅(qū)動SCSI設(shè)備驅(qū)動

主機文件/操作系統(tǒng)數(shù)據(jù)庫文件/操作系統(tǒng)數(shù)據(jù)庫文件/操作系統(tǒng)數(shù)據(jù)庫RAIDSCSI/FC總線卡什么是NAS?優(yōu)點:價格相對低廉,NAS以合理的價格提供集中存儲易于配置缺點:訪問時間較慢不是企業(yè)解決方案NAS是通過網(wǎng)絡(luò)共享訪問附加的專用存儲設(shè)備的存儲類型FileserverLocalAreaNetwork(Ethernet)NASdeviceFile-levelaccess(CIFS,NFS)Network什么是SAN?優(yōu)點:最快的訪問時間易于擴展集中存儲高水平的冗余缺點:更貴需要專業(yè)技能SAN提供更高的可用性和最大的靈活性通過使用光纖通道或iSCSI實施SANServersSwitchesStoragedevicesDASNASSAN的比較和使用場景DAS:復(fù)雜性最小最低設(shè)置成本NAS:最適合特定情況的解決方案與DAS和SAN互補SAN:性能最高有最多的功能未來的趨勢:WindowsServer存儲功能正在擴展,以提高使用DAS時的功能塊級存儲與文件級存儲塊級存儲:是高性能通常是基于SAN的向服務(wù)器提供LUN不是最具成本效益的文件級存儲:通過NAS,存儲服務(wù)器或文件服務(wù)器提供使用CIFS/SMB(共享文件夾)或NFS(導(dǎo)出)在存儲后端使用塊級存儲什么是光纖通道?光纖通道組件包括:SAN具有HBA卡的計算機光纖通道交換機以太網(wǎng)光纖通道:同時采用

一種廉價的,

預(yù)先存在的

以太網(wǎng)基礎(chǔ)架構(gòu),為您提供了光纖通道的好處光纖通道布局包括:仲裁環(huán)路:不需要采用交換機,目前比較罕見點對點:光纖通道主機直接連接到存儲設(shè)備,并且不需要交換機,不常用交換網(wǎng)絡(luò):所有光纖通道主機連接到光纖通道交換機,光纖通道交換機連接到后端存儲。什么是iSCSI?iSCSI通過IP網(wǎng)絡(luò)傳輸SCSI命令組件描述ip網(wǎng)絡(luò)網(wǎng)絡(luò)提供高性能和冗余iscsi目標(biāo)該存儲裝置上運行,并允許訪問磁盤的服務(wù)器iscsi啟動器在服務(wù)器上的軟件組件或主機適配器,它提供iscsi目標(biāo)的訪問iscsiiqniscsi用于在iscsi網(wǎng)絡(luò)上尋址發(fā)起方和目標(biāo)的全局唯一標(biāo)識符iSCSIclientthatrunstheiSCSIinitiatorTCP/IPprotocoliSCSITargetServerStoragearray核心存儲組件網(wǎng)絡(luò)適??配器通常在以太網(wǎng)上使用HBA通常用在存儲網(wǎng)絡(luò)(如SAN)上聚合網(wǎng)絡(luò)適配器可用于以太網(wǎng)或SANInfiniBand主機通道適配器用于InfiniBand網(wǎng)絡(luò)磁盤控制器便于磁盤驅(qū)動器和CPU之間的通信傳統(tǒng)存儲的問題總結(jié)(滿滿的槽點)投資:一次性成本較高,中高端集采單價1.5W/TB,光交30-40萬一對,F(xiàn)C適配器可忽略;如無規(guī)模優(yōu)勢,維保成本高;維護人員成本高,令人艷羨的待遇;能耗成本高。工程集成:zone、LUN、RAID、owner、多鏈路、卷管理、備份、冗余、容災(zāi)。。。。工作量較大,技能get投入大維護監(jiān)控:一套存儲三種軟件,有額外軟件成本;廠家異構(gòu)型號異構(gòu)讓統(tǒng)一存儲運維只是一個夢想;運維數(shù)據(jù)難于導(dǎo)出和解讀,“拿去!你看不懂!”;故障處理往往需要多方會診,問題定位周期長,分析靠創(chuàng)意,排查靠遍歷。擴容升級:需要停機、擴容周期長、實施風(fēng)險高,0點以后3小時起刷大夜。性能表現(xiàn):需根據(jù)實際配置進行計算,從不能相信技術(shù)指標(biāo);性能數(shù)據(jù)需專業(yè)解讀,性能優(yōu)化基本靠擴高可用及穩(wěn)定性:穩(wěn)定性高的背后,是大量的更換備件和升級版本操作;高可用演練環(huán)節(jié)多,藥不能停;設(shè)備老舊,穩(wěn)定性驟減,老干部要好好伺候。存儲本質(zhì)上是IT硬件集成,IT軟件定義。無非是集成和定義誰來做的問題。幾個存儲新概念軟件定義存儲:存儲資源由軟件自動控制,通過抽象、池化和自動化,將標(biāo)準(zhǔn)服務(wù)器內(nèi)存存儲、直連存儲、外置存儲或云存儲等存儲資源整合起來,實現(xiàn)應(yīng)用感知,或者基于策略驅(qū)動的部署、變更和管理,最終達到存儲即服務(wù)的目標(biāo)超融合(HCI):是指同一套單元設(shè)備(如X86通用服務(wù)器)同時具備提供計算、存儲和網(wǎng)絡(luò)服務(wù)的能力ServerSAN(基于服務(wù)器的分布式塊存儲):采用標(biāo)準(zhǔn)服務(wù)器作為硬件,通過軟件對外提供存儲服務(wù)的產(chǎn)品對象存儲(基于服務(wù)器的分布式對象存儲):采用標(biāo)準(zhǔn)服務(wù)器作為硬件,通過軟件對外提供對象服務(wù)的產(chǎn)品,對象是一種數(shù)據(jù)集合,如圖片、視頻等,每個對象都在一個被稱作存儲池的扁平地址空間的同一級別里擁有唯一OID,一個對象不會屬于另一個對象的下一級基于服務(wù)器的分布式文件存儲:采用標(biāo)準(zhǔn)服務(wù)器作為硬件,通過軟件對外提供文件存儲服務(wù)的產(chǎn)品,主流還是NAS,使用NFS/CIFS文件共享傳輸協(xié)議,樹形目錄+inode管理方法實現(xiàn)SDS的scale-out架構(gòu)VMVM…VMFC/iSCSISANCPUCPU…硬盤硬盤硬盤…硬盤硬盤硬盤…硬盤硬盤硬盤…傳統(tǒng)集中存儲Scale-Up架構(gòu)分布式存儲Scale-Out架構(gòu)X86服務(wù)器1X86服務(wù)器2X86服務(wù)器N通過昂貴硬件保證系統(tǒng)的高可用性管理維護要求能力高擴展方式通過增加硬件配置實現(xiàn)X86硬件,軟件定義實現(xiàn)自動化、智能機制管理維護要求能力低擴展容易,可以達到PB級擴容空間X86服務(wù)器1VMVMVMVMVMVM軟件定義存儲硬盤硬盤硬盤硬盤硬盤硬盤...X86服務(wù)器2X86服務(wù)器N分布式塊存儲---VSANVSAN與其他VMware產(chǎn)品集成部署在一起,主要針對虛擬機應(yīng)用進行了優(yōu)化,聚合了虛擬化管理程序的體系結(jié)構(gòu),按虛擬機設(shè)置的存儲策略進行管理。要合理搭配服務(wù)器內(nèi)存和硬盤占比,以最大化利用存儲資源和計算資源?;诜?wù)器的分布式文件存儲——存儲空間使用存儲空間:將任何類型和大小的物理磁盤添加到存儲池從池中創(chuàng)建高可用性虛擬磁盤要創(chuàng)建虛擬磁盤,您需要:一個或多個物理磁盤包含磁盤的存儲池虛擬磁盤(或存儲空間)

使用磁盤創(chuàng)建的

存儲池基于的磁盤驅(qū)動器

虛擬驅(qū)動器DiskdrivePhysicaldisksStoragepoolVirtualdisk存儲空間的組件和功能特征選項存儲布局簡單雙向或三向鏡像校驗磁盤扇區(qū)大小512或512e4KB驅(qū)動器分配數(shù)據(jù)存儲手動熱備用配置方案精簡配置空間固定配置空間條帶參數(shù)列交錯在您的環(huán)境中最佳地使用存儲空間的功能存儲空間使用場景存儲空間功能:實施和輕松管理可擴展,可靠和廉價的存儲使用具有或不具有外部存儲的廉價存儲將多個驅(qū)動器合并到存儲池中,管理員可以將其作為單個實體進行管理在同一池中實施不同類型的存儲根據(jù)需要增加存儲池根據(jù)需要從現(xiàn)有存儲池中調(diào)配存儲將特定驅(qū)動器指定為熱備用…FibreChannel/(iSCSI)協(xié)議層存儲層…NFS/CIFS…FileSystemObjectObjectSystemObjectKeyMetadatadataUserdefinedmeta-dataS3/SwiftObjectObjectObjectObject主要協(xié)議:FC,iSCSI應(yīng)用場景:結(jié)構(gòu)化,數(shù)據(jù)庫應(yīng)用,低延時,高性能,如Oracle主要協(xié)議:NFS,CIFS應(yīng)用場景:非結(jié)構(gòu)化,文件共享的服務(wù)主要協(xié)議:S3,Swift,RESTful/soap

應(yīng)用場景:對象數(shù)據(jù),互聯(lián)網(wǎng)服務(wù)存儲,數(shù)據(jù)歸檔或備份iSCSI/FCSANNASObjectbucketbucketbucket對象存儲——SAN、NAS和Object的對比說明:近年出現(xiàn)分布式架構(gòu),主要以傳統(tǒng)架構(gòu)為主說明:逐漸演進到分布式架構(gòu),也支持傳統(tǒng)架構(gòu)說明:從出現(xiàn)開始就是分布式架構(gòu),集中式架構(gòu)極少對象存儲使用場景業(yè)務(wù)場景場景詳情醫(yī)療影像云1)醫(yī)療影像文件較大,且多跨醫(yī)院與地域訪問,云存儲可以方便的解決跨醫(yī)院訪問的問題。2)醫(yī)療影像要求保存10年以上,長期保存在本地的成本高企業(yè)網(wǎng)盤1)文件備份2)文件共享云備份icloud、EMUI、公有云1)桶數(shù)量2)對象尺寸\帶寬要求\TPS\接口調(diào)用時延3)每日讀寫量、刪除量4)單桶對象數(shù)5)最大并發(fā)數(shù)6)上層業(yè)務(wù)平臺引入評估指標(biāo)項ObjectKey元數(shù)據(jù)數(shù)據(jù)Userdefined元數(shù)據(jù)metadataObjectObjectObject對象存儲系統(tǒng)業(yè)務(wù)主機APPeSDK調(diào)用本地API直接調(diào)用Web服務(wù)開發(fā)軟件使用工具BucketObjectObjectBucketObjectObject用戶小總結(jié):不同形態(tài)存儲產(chǎn)品對比存儲產(chǎn)品全閃存陣列分布式塊存儲分布式文件存儲對象存儲性能業(yè)界最高性能,百萬級IOPS,<1ms時延對位業(yè)界中端SAN存儲,性能與中端SAN存儲相仿。IOPS可達10萬級別,時延一般在5ms-40ms之間性能隨節(jié)點數(shù)增加而線性上漲。對于全對稱式結(jié)構(gòu)分布式,單節(jié)點帶寬一般在400MB/s到800MB/s之間,時延在5ms-40ms之間非性能敏感場景下使用,性能一般不重點關(guān)注,性能與中端SAN存儲相仿。功能SANSANNAS對象商用情況企業(yè)或者機構(gòu)核心業(yè)務(wù)、關(guān)鍵業(yè)務(wù)中,其穩(wěn)定性、性能、對技術(shù)的成熟度要求高,例如數(shù)據(jù)庫應(yīng)用場景在非關(guān)鍵環(huán)境中,在建設(shè)成本相對有限、數(shù)據(jù)量較大的條件下使用較多,例如云資源池、虛擬主機、桌面云等等文件存儲場景,在強調(diào)系統(tǒng)擴展性及文件系統(tǒng)性能的場景下使用,例如視頻監(jiān)控、媒體云、大數(shù)據(jù)分析等場景對外提供對象存儲接口(如S3,OpenstackSwift…),多用于互聯(lián)網(wǎng)行業(yè),關(guān)注數(shù)據(jù)共享功能及容量,在云盤類應(yīng)用使用廣泛。生態(tài)鏈兼容性測試已非常充分,所有高端、中端、以及低端的服務(wù)器均能支持,所有存儲廠家均有相關(guān)產(chǎn)品。主要完成的是Windows,Linux等較低端的服務(wù)器的兼容性測試。支持NAS協(xié)議,兼容性測試已非常充分,所有高端、中端、以及低端的服務(wù)器均能支持。支持對象存儲協(xié)議,數(shù)據(jù)共享性最優(yōu),支持公網(wǎng)訪問、跨地域訪問,對主機兼容性無明顯要求價格體系全閃存架構(gòu),商務(wù)成本最高存儲介質(zhì)多為全SATA或全NLSAS,關(guān)注系統(tǒng)容量,部分產(chǎn)品會考慮到性能而增加少量SSD,商務(wù)成本較低。關(guān)注系統(tǒng)容量,商務(wù)成本根據(jù)節(jié)點數(shù)量增長而線性提升。商務(wù)成本最低云原生應(yīng)用內(nèi)容一覽云原生(CloudNative)概述云原生應(yīng)用12基本要素解析云原生和容器云原生和DevOps云原生和持續(xù)集成云原生和微服務(wù)CloudNative云原生概念I(lǐng).基準(zhǔn)代碼一份基準(zhǔn)代碼,多份部署II.依賴顯式聲明依賴關(guān)系III.配置在環(huán)境中存儲配置IV.后端服務(wù)把后端服務(wù)當(dāng)作附加資源V.構(gòu)建,發(fā)布,運行嚴(yán)格分離構(gòu)建和運行VI.進程以一個或多個無狀態(tài)進程運行應(yīng)用VII.端口綁定通過端口綁定提供服務(wù)VIII.并發(fā)通過進程模型進行擴展IX.易處理快速啟動和優(yōu)雅終止可最大化健壯性X.開發(fā)環(huán)境與線上環(huán)境等價盡可能的保持開發(fā),預(yù)發(fā)布,線上環(huán)境相同XI.日志把日志當(dāng)作事件流XII.管理進程后臺管理任務(wù)當(dāng)作一次性進程運行12-factors

一份基準(zhǔn)代碼(Codebase),多份部署(deploy)基準(zhǔn)代碼和應(yīng)用之間總是保持一一對應(yīng)的關(guān)系:一旦有多個基準(zhǔn)代碼,就不能稱為一個應(yīng)用,而是一個分布式系統(tǒng)。分布式系統(tǒng)中的每一個組件都是一個應(yīng)用,每一個應(yīng)用可以分別使用12-Factor進行開發(fā)。多個應(yīng)用共享一份基準(zhǔn)代碼是有悖于12-Factor原則的。解決方案是將共享的代碼拆分為獨立的類庫,然后使用

依賴管理

策略去加載它們?;鶞?zhǔn)代碼

顯式聲明依賴關(guān)系(

dependency

)12-Factor規(guī)則下的應(yīng)用程序不會隱式依賴系統(tǒng)級的類庫。

它一定通過

依賴清單

,確切地聲明所有依賴項。此外,在運行過程中通過

依賴隔離

工具來確保程序不會調(diào)用系統(tǒng)中存在但清單中未聲明的依賴項。這一做法會統(tǒng)一應(yīng)用到生產(chǎn)和開發(fā)環(huán)境。依賴在環(huán)境中存儲配置通常,應(yīng)用的

配置

在不同

部署

(預(yù)發(fā)布、生產(chǎn)環(huán)境、開發(fā)環(huán)境等等)間會有很大差異。這其中包括:數(shù)據(jù)庫,Memcached,以及其他

后端服務(wù)

的配置第三方服務(wù)的證書,如AmazonS3、Twitter等每份部署特有的配置,如域名等配置

把后端服務(wù)(backingservices)當(dāng)作附加資源后端服務(wù)是指程序運行所需要的通過網(wǎng)絡(luò)調(diào)用的各種服務(wù),如數(shù)據(jù)庫(MySQL,CouchDB),消息/隊列系統(tǒng)(RabbitMQ,Beanstalkd),SMTP郵件發(fā)送服務(wù)(Postfix),以及緩存系統(tǒng)(Memcached)。部署可以按需加載或卸載資源。例如,如果應(yīng)用的數(shù)據(jù)庫服務(wù)由于硬件問題出現(xiàn)異常,管理員可以從最近的備份中恢復(fù)一個數(shù)據(jù)庫,卸載當(dāng)前的數(shù)據(jù)庫,然后加載新的數(shù)據(jù)庫–整個過程都不需要修改代碼。后端服務(wù)

以一個或多個無狀態(tài)進程運行應(yīng)用運行環(huán)境中,應(yīng)用程序通常是以一個和多個進程運行的。最簡單的場景中,代碼是一個獨立的腳本,運行環(huán)境是開發(fā)人員自己的筆記本電腦,進程由一條命令行(例如pythonmy_script.py)。另外一個極端情況是,復(fù)雜的應(yīng)用可能會使用很多進程類型,也就是零個或多個進程實例。12-Factor應(yīng)用的進程必須無狀態(tài)且無共享。任何需要持久化的數(shù)據(jù)都要存儲在后端服務(wù)內(nèi),比如數(shù)據(jù)庫。進程

通過端口綁定(Portbinding)來提供服務(wù)互聯(lián)網(wǎng)應(yīng)用有時會運行于服務(wù)器的容器之中。例如PHP經(jīng)常作為

ApacheHTTPD

的一個模塊來運行,正如Java運行于

Tomcat

。12-Factor應(yīng)用完全自我加載

而不依賴于任何網(wǎng)絡(luò)服務(wù)器就可以創(chuàng)建一個面向網(wǎng)絡(luò)的服務(wù)?;ヂ?lián)網(wǎng)應(yīng)用

通過端口綁定來提供服務(wù)

,并監(jiān)聽發(fā)送至該端口的請求。端口綁定

通過進程模型進行擴展任何計算機程序,一旦啟動,就會生成一個或多個進程。互聯(lián)網(wǎng)應(yīng)用采用多種進程運行方式。在12-factor應(yīng)用中,進程是一等公民。12-Factor應(yīng)用的進程主要借鑒于

unix守護進程模型

。開發(fā)人員可以運用這個模型去設(shè)計應(yīng)用架構(gòu),將不同的工作分配給不同的

進程類型

。并發(fā)

快速啟動和優(yōu)雅終止可最大化健壯性12-Factor應(yīng)用的

進程

易處理(disposable)的,意思是說它們可以瞬間開啟或停止。

這有利于快速、彈性的伸縮應(yīng)用,迅速部署變化的

代碼

配置

,穩(wěn)健的部署應(yīng)用。進程應(yīng)當(dāng)追求

最小啟動時間

。理想狀態(tài)下,進程從敲下命令到真正啟動并等待請求的時間應(yīng)該只需很短的時間。更少的啟動時間提供了更敏捷的

發(fā)布

以及擴展過程,此外還增加了健壯性,因為進程管理器可以在授權(quán)情形下容易的將進程搬到新的物理機器上。易處理

盡可能的保持開發(fā),預(yù)發(fā)布,線上環(huán)境相同12-Factor應(yīng)用想要做到

持續(xù)部署

就必須縮小本地與線上差異。

開發(fā)環(huán)境與線上環(huán)境等價

把日志當(dāng)作事件流日志

使得應(yīng)用程序運行的動作變得透明。在基于服務(wù)器的環(huán)境中,日志通常被寫在硬盤的一個文件里,但這只是一種輸出格式。日志應(yīng)該是

事件流

的匯總,將所有運行中進程和后端服務(wù)的輸出流按照時間順序收集起來。盡管在回溯問題時可能需要看很多行,日志最原始的格式確實是一個事件一行。日志沒有確定開始和結(jié)束,但隨著應(yīng)用在運行會持續(xù)的增加。12-factor應(yīng)用本身從不考慮存儲自己的輸出流。

不應(yīng)該試圖去寫或者管理日志文件。日志

后臺管理任務(wù)當(dāng)作一次性進程運行進程構(gòu)成(processformation)是指用來處理應(yīng)用的常規(guī)業(yè)務(wù)(比如處理web請求)的一組進程。與此不同,開發(fā)人員經(jīng)常希望執(zhí)行一些管理或維護應(yīng)用的一次性任務(wù)。一次性管理進程應(yīng)該和正常的

常駐進程

使用同樣的環(huán)境。這些管理進程和任何其他的進程一樣使用相同的

代碼

配置

,基于某個

發(fā)布版本

運行。后臺管理代碼應(yīng)該隨其他應(yīng)用程序代碼一起發(fā)布,從而避免同步問題。12-factor尤其青睞那些提供了REPLshell的語言,因為那會讓運行一次性腳本變得簡單。管理進程

微服務(wù)架構(gòu)微服務(wù)架構(gòu)(Cont.)“Anyorganizationthatdesignsasystem(definedbroadly)willproduceadesignwhosestructureisacopyoftheorganization'scommunicationstructure.”--MelvynConway,1967“任何設(shè)計系統(tǒng)的組織(廣義定義)都將產(chǎn)生一個設(shè)計,其結(jié)構(gòu)是該組織的溝通結(jié)構(gòu)的副本?!?MelvynConway,1967磐石微服務(wù)單體應(yīng)用程序?qū)崿F(xiàn)方式微服務(wù)架構(gòu)應(yīng)用程序開發(fā)方法的比較應(yīng)用程序樣式之間的狀態(tài)存儲比較微服務(wù)平臺針對特定問題封裝的解決方案由小型工程團隊開發(fā)。使用任何編程語言編寫并使用任何框架。由獨立控制版本、部署及縮放的代碼和(可選)狀態(tài)組成。通過定義完善的接口和協(xié)議來與其他微服務(wù)交互。具有用來解析位置的唯一名稱(URL)。在出現(xiàn)故障時可保持一致且可用微服務(wù)特點微服務(wù)應(yīng)用程序由獨立控制版本和可縮放的、以客戶為中心的服務(wù)組成,這些服務(wù)通過標(biāo)準(zhǔn)協(xié)議和定義完善的接口彼此通信。SOA和

微服務(wù)SOA服務(wù)是大型整體的接口編排(Orchestration)通常是必需的,并且傾向于包含業(yè)務(wù)邏輯跨越企業(yè)Microservices服務(wù)單獨開發(fā)和部署不需要集成技術(shù),邏輯就在于微服務(wù)可以限于個別項目DevOps–推動商業(yè)價值通過以下若干方面的改進,組織實現(xiàn)了20%的改善上市時間配置規(guī)劃OPS創(chuàng)建校驗打包發(fā)布監(jiān)控DEVSource:GlobalStudybyCATechnologies軟件質(zhì)量部署頻率收入增加客戶關(guān)系的建立和保持一個IT系統(tǒng)應(yīng)該包含如下幾個層次:應(yīng)用程序運行時平臺(bin/framework/lib)操作系統(tǒng)硬件(基礎(chǔ)設(shè)施)開發(fā)人員的主要工作是應(yīng)用程序的編碼、構(gòu)建、測試和發(fā)布,涉及應(yīng)用程序和運行時平臺這兩層。運維人員的工作則涉及從硬件、操作系統(tǒng)到運行時平臺的安裝、配置、運行監(jiān)控、升級和優(yōu)化等工作。Docker提供了一種運行時環(huán)境,隔離了上層應(yīng)用于下層操作系統(tǒng)和硬件的關(guān)聯(lián),使得術(shù)業(yè)有專攻。DevOps實現(xiàn)開發(fā)和運維的有效隔離CI/CD|主題思想代碼零庫存-代碼直接變產(chǎn)品持續(xù)-不間斷細顆粒度-切分任務(wù)高頻次-縮短每次迭代的間隔自動化-替代重復(fù)勞動用小步快跑的方式降低變更帶來的風(fēng)險,此外疊加自動化提升效率和質(zhì)量CI/CD|基本概念持續(xù)(Continuous):不斷地獲取反饋,響應(yīng)反饋集成(Integration):編譯,測試,打包發(fā)布(Release):具有業(yè)務(wù)影響力的功能變化對最終用戶可見稱之為發(fā)布交付(Delivery):可以理解為從Deployment到release之間的階段,更多的強調(diào)是一種能力。開發(fā)有能力頻繁地部署,運維有能力隨時發(fā)布部署(Deployment):應(yīng)用組件或者基本設(shè)施的代碼或配置變更在產(chǎn)品環(huán)境中稱之為部署源代碼庫:SourceRepository持續(xù)集成服務(wù)器:CIServer單元測試:UnitTestCheck-in:開發(fā)人員實踐持續(xù)集成的動作持續(xù)集成—持續(xù)地做集成和集成結(jié)果的修正部署流水線:DeploymentPipelineContinuouslyLearning性能測試功能測試持續(xù)交付—持續(xù)地完成小顆粒,高頻次的交付所有階段的測試都完成之后,自動地將代碼發(fā)布到生產(chǎn)環(huán)境需要以整體業(yè)務(wù)為著眼點,確定部署時機和節(jié)奏持續(xù)部署—持續(xù)地將需求部署到目標(biāo)環(huán)境上容器化的工作流管道

…………………ContainerServiceServiceFabricAppServicesFutureServices…Build/CI,Integrate,TestPushCodeProductionenvironmentsRun,ManageCodeRunValidateDebugCD,DeployVisualStudioTeamServicesSourceCodeControl(SCC)ContainerRegistryAzure定義團隊文化和溝通方式,使開發(fā)和運維的合作更加流暢高效自主的多技能團隊共同的目標(biāo)高水平的測試和發(fā)布自動化CI/CD和DevOps容器技術(shù)的基本實現(xiàn):Docker內(nèi)容一覽

Docker架構(gòu)概覽Docker技術(shù)詳解Docker高級功能Docker適用場景為什么使用Docker?可基于任何堆棧(OS)使用任何語言構(gòu)建任何應(yīng)用程序Dockerized應(yīng)用程序可以在任何地方運行沒有所謂的“它在我的機器上是能工作的呀”的爭執(zhí)沒有更多的依賴守護程序,所以開發(fā)人員和系統(tǒng)管理員聯(lián)合起來軟件開發(fā)目前遇到的困境然而,太陽下面沒有新鮮事集裝箱已經(jīng)深刻地改變了一次世界dockerisashippingcontainersystemforcodeDocker特性特性集裝箱Docker打包對象幾乎任何貨物任何軟件及其依賴硬件依賴標(biāo)準(zhǔn)形狀和接口允許集裝箱被裝卸到各種交通工具,整個運輸過程無需打開容器無需修改便可運行在幾乎所有的平臺上--虛擬機、物理機、公有云、私有云隔離性集裝箱可以重疊起來一起運輸,香蕉再也不會被鐵桶壓爛了資源、網(wǎng)絡(luò)、庫都是隔離的,不會出現(xiàn)依賴問題自動化標(biāo)準(zhǔn)接口使集裝箱很容易自動裝卸和移動提供run,start,stop等標(biāo)準(zhǔn)化操作,非常適合自動化高效性無需開箱,可在各種交通工具間快速搬運輕量級,能夠快速啟動和遷移職責(zé)分工貨主只需考慮把什么放到集裝箱里;承運方只需關(guān)心怎樣運輸集裝箱開發(fā)人員只需考慮怎么寫代碼;運維人員只需關(guān)心如何配置基礎(chǔ)環(huán)境對于開發(fā)人員-

BuildOnce,RunAnywhere容器意味著環(huán)境隔離和可重復(fù)性。開發(fā)人員只需為應(yīng)用創(chuàng)建一次運行環(huán)境,然后打包成容器便可在其他機器上運行。另外,容器環(huán)境與所在的Host環(huán)境是隔離的,就像虛擬機一樣,但更快更簡單。對于運維人員-

ConfigureOnce,RunAnything只需要配置好標(biāo)準(zhǔn)的runtime環(huán)境,服務(wù)器就可以運行任何容器。這使得運維人員的工作變得更高效,一致和可重復(fù)。容器消除了開發(fā)、測試、生產(chǎn)環(huán)境的不一致性容器的優(yōu)勢容器的優(yōu)勢物理機虛擬機應(yīng)用程序傳統(tǒng)上構(gòu)建并部署到具有1:1關(guān)系的物理系統(tǒng)上新的應(yīng)用程序通常需要新的物理系統(tǒng)來隔離資源更高的整合率和更好的利用率比傳統(tǒng)的物理環(huán)境更快的應(yīng)用程序部署部署到虛擬機的應(yīng)用程序具有高兼容性成功應(yīng)用程序受益于關(guān)鍵VM功能,如:實時遷移,高可靠性物理/虛擬化環(huán)境關(guān)鍵優(yōu)勢進一步加快應(yīng)用程序部署減少部署應(yīng)用程序的工作量簡化開發(fā)和測試降低與應(yīng)用部署相關(guān)的成本增加服務(wù)器整合容器打包并運行應(yīng)用程序虛擬機versus容器

虛擬機容器Container虛擬機versus容器

虛擬機versus容器

Docker核心技術(shù)Namespace:容器之間的隔離控制Cgroups:資源分配和度量AUFS:通過分層支持將不同目錄掛載到同一個虛擬文件系統(tǒng)下安全性AppArmor、SELinux、GRSECDocker架構(gòu)DockerRegistry/Docker映像庫存儲docker映像可供檢索公共映像庫-私有映像庫管理機構(gòu)–專屬服務(wù)。例如:Azure容器注冊表ACR該注冊表是根據(jù)Apache許可證開源的Docker映像庫(Registry)映像庫(Registry)是一種無狀態(tài),高度可擴展的服務(wù)器端應(yīng)用程序,可存儲和分發(fā)Docker映像。使用模式:緊緊控制映像的存儲位置完全擁有您的映像分配管道將映像存儲和分發(fā)緊密集成到您的內(nèi)部開發(fā)工作流程中公共(DockerHub)/私有

Docker私有映像庫私有映像庫提供更好的公共映像庫安全性(例如DockerHub)Azure支持托管私有映像庫,使用精細的角色訪問控制進行管理Azure私有映像庫可以是地理冗余,使得根據(jù)客戶端位置更快地下載/上傳映像

Docker映像Docker映像是由一系列圖層構(gòu)成的?;A(chǔ)平臺操作系統(tǒng)映像由Microsoft為Windows操作系統(tǒng)提供映像,CanonicalforUbuntu映像等供應(yīng)商提供。這些映像發(fā)布到DockerHub。每個圖層表示映像的Docker文件中的指令。除最后一個層之外的每個層都是只讀的。

Dockerbuild如何工作RegistryDOCKER_HOSTImagesContainers0001Program.cs110AspCoreApp.dll111010111011011010Code/BinariesClientDockerbuildDockerdaemonFROMmicrosoft/dotnet:1.0.0-rc2-coreWORKDIR/appCOPY/app/appENTRYPOINT

dotnetAspCoreApp.dlldockerfileDockerrunDockerfile

帶有Docker命令的文本文件,用于創(chuàng)建新映像。您可以將其視為具有組裝新映像所需的指令集的配置文件。Docker有一個docker

build命令來解析Dockerfile以構(gòu)建一個新的容器映像。Docker映像構(gòu)建模式多階段構(gòu)建(單Docker文件)Docker17.05或更高版本中提供了新功能在Dockerfile中使用多個FROM語句每個FROM指令都可以使用不同的基礎(chǔ),并且它們中的每個都開始構(gòu)建的新階段。您可以選擇性地將工件從一個階段復(fù)制到另一個階段,留下最終映像中不需要的所有內(nèi)容。多個DockerfilesDockerfile.{purpose}用于開發(fā)(其中包含構(gòu)建應(yīng)用程序所需的一切),Dockerfile:一個用于生產(chǎn)的薄型化,只包含您的應(yīng)用程序,以及運行它的必要條件。Dockerfile.buildDockerfileDockerfile演示:Dockerfile和DockerBuild使用dockefiles創(chuàng)建映像使用dockerbuild命令構(gòu)建容器映像與容器進行交互使用commit將更新整合到映像登陸到dockerhub并推送映像

容器常見操作一圖流DockerComposeCompose是定義和運行多容器Docker應(yīng)用程序的工具。以yml格式定義的單個文件文件定義了您的應(yīng)用程序服務(wù)單一命令創(chuàng)建并啟動所有服務(wù)單一命令來停止所有的服務(wù)服務(wù)可發(fā)現(xiàn)性

DockerCompose使用撰寫是一個三步的過程:使用Docker文件定義您的應(yīng)用程序的環(huán)境,以便可以在任何地方進行復(fù)制。在Docker-compose.yml中定義構(gòu)成您的應(yīng)用程序的服務(wù),以便它們可以在相互隔離的環(huán)境中一起運行。最后,運行docker-compose,Compose將啟動并運行您的整個應(yīng)用程序。Docker-compose.ymlDockerfile|webappDockerfile|webapi容器的存儲Docker容器是不可變的設(shè)計,特別適用于無狀態(tài)應(yīng)用Docker為容器提供了兩種存放數(shù)據(jù)的資源:由storagedriver管理的鏡像層和容器層。DataVolume要保存數(shù)據(jù),也就是要運行有狀態(tài)應(yīng)用,必須提供DataVoume

Copy-on-Write特點:新數(shù)據(jù)會直接存放在最上面的容器層。修改現(xiàn)有數(shù)據(jù)會先從鏡像層將數(shù)據(jù)復(fù)制到容器層,修改后的數(shù)據(jù)直接保存在容器層中,鏡像層保持不變。如果多個層中有命名相同的文件,用戶只能看到最上面那層中的文件StorageDriver數(shù)據(jù)卷創(chuàng)建容器時初始化卷數(shù)據(jù)卷

溫馨提示

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

最新文檔

評論

0/150

提交評論