版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件定義與網(wǎng)絡(luò)安全
第1單元:軟件定義與網(wǎng)絡(luò)安全概述第01單元-軟件定義與網(wǎng)絡(luò)安全概述
第02單元-計(jì)算虛擬化與軟件定義計(jì)算
第03單元-存儲(chǔ)虛擬化與軟件定義存儲(chǔ)
第04單元-網(wǎng)絡(luò)虛擬化與軟件定義網(wǎng)絡(luò)
第05單元-軟件定義網(wǎng)絡(luò)安全技術(shù)
第06單元-軟件定義網(wǎng)絡(luò)系統(tǒng)安全
全套可編輯PPT課件
課程簡(jiǎn)介通過(guò)本課程的學(xué)習(xí),理解軟件定義概念內(nèi)涵,掌握軟件定義相關(guān)實(shí)現(xiàn)理論與技術(shù)、典型軟件定義網(wǎng)絡(luò)安全技術(shù),熟悉軟件定義引發(fā)的網(wǎng)絡(luò)安全問(wèn)題,初步具備軟件定義網(wǎng)絡(luò)系統(tǒng)防御體系構(gòu)建能力。第1單元軟件定義與網(wǎng)絡(luò)安全概述近年來(lái)在計(jì)算設(shè)備、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備等信息基礎(chǔ)設(shè)施虛擬化的基礎(chǔ)上,軟件定義計(jì)算、軟件定義存儲(chǔ)、軟件定義網(wǎng)絡(luò)等軟件定義技術(shù)被提出和廣泛應(yīng)用,改變了網(wǎng)絡(luò)系統(tǒng)的形態(tài),從而引發(fā)一系列新的網(wǎng)絡(luò)安全問(wèn)題,并觸發(fā)網(wǎng)絡(luò)安全技術(shù)的革新。一、軟件定義與網(wǎng)絡(luò)安全概述一、軟件定義與網(wǎng)絡(luò)安全概述(1)軟件定義的提出與發(fā)展(2)軟件定義的技術(shù)架構(gòu)(3)軟件定義的實(shí)現(xiàn)技術(shù)(4)軟件定義引發(fā)的安全影響一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的提出與發(fā)展——軟件定義的提出1
2007年,在信息技術(shù)領(lǐng)域首次出現(xiàn)軟件定義概念,美國(guó)斯坦福大學(xué)NickMckeown教授等提出了軟件定義網(wǎng)絡(luò)(SDN:SoftwareDefinedNetwork),其通過(guò)將網(wǎng)絡(luò)設(shè)備的控制平面與數(shù)據(jù)平面分離,以實(shí)現(xiàn)網(wǎng)絡(luò)的可編程化控制。一、移動(dòng)目標(biāo)防御基本理念SDN控制平面與數(shù)據(jù)平面分離的分層架構(gòu)由物理的和虛擬化的轉(zhuǎn)發(fā)設(shè)備(即SDN交換機(jī))構(gòu)成。SDN轉(zhuǎn)發(fā)設(shè)備不同于傳統(tǒng)二/三層交換機(jī),其以流表形式組織數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則,且專職負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā)工作。一、移動(dòng)目標(biāo)防御基本理念SDN控制器(如ODL、Ryu)組成,負(fù)責(zé)運(yùn)行網(wǎng)絡(luò)高層控制策略??赏ㄟ^(guò)南向接口配置操作數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備中的流表,控制數(shù)據(jù)通路;可在獲取數(shù)據(jù)轉(zhuǎn)發(fā)層信息的基礎(chǔ)上,將全局網(wǎng)絡(luò)視圖抽象為網(wǎng)絡(luò)服務(wù),為應(yīng)用層提供北向接口。SDN控制平面與數(shù)據(jù)平面分離的分層架構(gòu)北向接口東西接口南向接口一、移動(dòng)目標(biāo)防御基本理念SDN控制平面與數(shù)據(jù)平面分離的分層架構(gòu)包含各種網(wǎng)絡(luò)應(yīng)用程序,其通過(guò)調(diào)用北向接口經(jīng)控制層實(shí)現(xiàn)網(wǎng)絡(luò)的快速構(gòu)建部署。
SDN新型網(wǎng)絡(luò)架構(gòu)特點(diǎn):(1)控制平面與數(shù)據(jù)平面分離;(2)邏輯上集中控制;(3)網(wǎng)絡(luò)開放可編程:體現(xiàn)在南向與北向兩個(gè)接口是開放的。網(wǎng)絡(luò)能夠被軟件所定義,達(dá)到簡(jiǎn)化網(wǎng)絡(luò)運(yùn)維、靈活管理調(diào)度SDN控制平面與數(shù)據(jù)平面分離的分層架構(gòu)一、移動(dòng)目標(biāo)防御基本理念通過(guò)軟件定義實(shí)現(xiàn)網(wǎng)絡(luò)邏輯拓?fù)渥兓?,改變?shù)據(jù)傳輸路徑,實(shí)現(xiàn)網(wǎng)絡(luò)應(yīng)用的動(dòng)態(tài)部署SDN控制平面與數(shù)據(jù)平面分離的分層架構(gòu)一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的提出與發(fā)展——軟件定義的內(nèi)涵1軟件定義是一種設(shè)計(jì)實(shí)現(xiàn)理念:
形式上是更多地由軟件來(lái)驅(qū)動(dòng)并控制硬件資源;
實(shí)現(xiàn)思想是將原來(lái)高度耦合的一體化硬件設(shè)施,通過(guò)抽象化、標(biāo)準(zhǔn)化和虛擬化等技術(shù)手段,解耦成規(guī)范化的部件并建立起不同的抽象層,以編程接口的方式實(shí)現(xiàn)對(duì)部件資源的靈活調(diào)度與控制;
提高系統(tǒng)的可編程、可重構(gòu)、可管理和可定制能力,從而能夠適應(yīng)上層業(yè)務(wù)系統(tǒng)的需求和變化。一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的提出與發(fā)展——軟件定義的內(nèi)涵1軟件化:是指根據(jù)描述的業(yè)務(wù)功能需求,把原來(lái)由硬件實(shí)現(xiàn)的功能轉(zhuǎn)化為由軟件來(lái)完成,關(guān)注的是業(yè)務(wù)需求、功能和流程等的軟件實(shí)現(xiàn);
軟件定義:是資源的一種應(yīng)用管理模式,即可編程的應(yīng)用管理模式;
形式上都是增加了系統(tǒng)的軟件成分比例,所以從這個(gè)角度也可以說(shuō)“軟件定義”屬于“軟件化”的一種具體形式?!褴浖x和軟件化兩個(gè)概念的不同:一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的提出與發(fā)展——軟件定義的發(fā)展1起初主要圍繞計(jì)算機(jī)、存儲(chǔ)設(shè)備和網(wǎng)絡(luò)設(shè)備等主流硬件設(shè)施開展軟件定義相關(guān)技術(shù)和應(yīng)用的研究實(shí)踐,于是出現(xiàn)了:
軟件定義計(jì)算(SDC:SoftwareDefinedCompute)
軟件定義存儲(chǔ)(SDS:SoftwareDefinedStorage)
軟件定義數(shù)據(jù)中心(SDDC:SoftwareDefinedDataCenter)一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的提出與發(fā)展——軟件定義的發(fā)展1
后來(lái)“軟件定義”思想在更廣泛的硬件設(shè)施上得到應(yīng)用,進(jìn)一步提出了軟件定義汽車、軟件定義家居、軟件定義建筑,以及軟件定義制造等。163一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的提出與發(fā)展——軟件定義的發(fā)展1鑒于“軟件定義”思想帶來(lái)的重大影響和意義,工信部在國(guó)家“十四五”軟件和信息技術(shù)服務(wù)業(yè)發(fā)展規(guī)劃中提出“軟件定義”賦能實(shí)體經(jīng)濟(jì)新變革,明確指出“軟件定義”是新一輪科技革命和產(chǎn)業(yè)變革的新特征和新標(biāo)志,已成為驅(qū)動(dòng)未來(lái)發(fā)展的重要力量?!败浖x”解決了硬件的有限和人的需求無(wú)限之間的矛盾一、軟件定義與網(wǎng)絡(luò)安全概述(1)軟件定義的提出與發(fā)展(2)軟件定義的技術(shù)架構(gòu)(3)軟件定義的實(shí)現(xiàn)技術(shù)(4)軟件定義引發(fā)的安全影響一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的技術(shù)架構(gòu)2軟件定義是把原先一體化的硬件設(shè)施打破,將基礎(chǔ)硬件虛擬化并提供標(biāo)準(zhǔn)化的基本功能,然后通過(guò)軟件編程方式控制其基本功能,以提供更開放、靈活、智能的管控服務(wù)。(1)硬件資源的虛擬化(2)管理任務(wù)的可編程軟件定義技術(shù)架構(gòu)軟件定義技術(shù)架構(gòu)數(shù)據(jù)平面:由下至上依次由異構(gòu)的硬件資源、硬件接口、虛擬層、標(biāo)準(zhǔn)化的虛擬資源池和數(shù)據(jù)平面接口等部分構(gòu)成。硬件接口層:硬件與軟件解耦;數(shù)據(jù)平面接口層:數(shù)據(jù)平面與控制平面的解耦。軟件定義技術(shù)架構(gòu)控制平面:由軟件定義層(平臺(tái))和控制平面接口構(gòu)成,是整個(gè)體系架構(gòu)的大腦,基于策略驅(qū)動(dòng)的方式負(fù)責(zé)整個(gè)體系的可靠運(yùn)轉(zhuǎn)和監(jiān)控管理。向下通過(guò)數(shù)據(jù)平面接口分配、調(diào)度和管理數(shù)據(jù)平面各類資源,控制數(shù)據(jù)平面業(yè)務(wù)功能的正常運(yùn)行。向上為應(yīng)用平面提供應(yīng)用編程接口(即控制平面接口),使開發(fā)者可在控制平面上靈活開發(fā)各種IT服務(wù)和應(yīng)用。軟件定義技術(shù)架構(gòu)應(yīng)用平面:包含各種IT服務(wù)和應(yīng)用,例如云計(jì)算、大數(shù)據(jù)、智能制造等,它們通過(guò)控制平面提供的可編程接口實(shí)施對(duì)控制層地操控,完成各種IT資源的定制與應(yīng)用。網(wǎng)絡(luò)信息系統(tǒng)設(shè)施組件的技術(shù)形態(tài)轉(zhuǎn)變基于標(biāo)準(zhǔn)化的編程接口解除上層應(yīng)用軟件和底層硬件資源之間的緊耦合關(guān)系,使其可以各自獨(dú)立演化。將原來(lái)應(yīng)用需求變化通常需要通過(guò)硬件資源平臺(tái)變化來(lái)實(shí)現(xiàn)轉(zhuǎn)變?yōu)橥ㄟ^(guò)一個(gè)深度軟件定義的軟件平臺(tái)以靈活可編程、可配置的方式實(shí)現(xiàn)網(wǎng)絡(luò)信息系統(tǒng)完成了從硬件資源為核心向軟件平臺(tái)為核心的轉(zhuǎn)變一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的技術(shù)架構(gòu)2
軟件定義特征系統(tǒng)軟件平臺(tái)成為了網(wǎng)絡(luò)信息系統(tǒng)的核心:
向下對(duì)各種標(biāo)準(zhǔn)化(虛擬化)的硬件資源實(shí)現(xiàn)統(tǒng)一標(biāo)識(shí)、接入、控制和管理;
中間提供集計(jì)算、存儲(chǔ)、通信、開發(fā)等多種可定制服務(wù);
向上提供可編程的開發(fā)接口,支持硬件資源靈活地調(diào)度應(yīng)用。一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的技術(shù)架構(gòu)2
軟件定義技術(shù)架構(gòu)具有的三個(gè)特點(diǎn):(1)硬件資源池化(2)執(zhí)行控制分離(3)開放可編程一、軟件定義與網(wǎng)絡(luò)安全概述(1)軟件定義的提出與發(fā)展(2)軟件定義的技術(shù)架構(gòu)(3)軟件定義的實(shí)現(xiàn)技術(shù)(4)軟件定義引發(fā)的安全影響一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的實(shí)現(xiàn)技術(shù)3目前“軟件定義”理念已經(jīng)成為人們重塑網(wǎng)絡(luò)信息系統(tǒng)的重要思想依據(jù)之一,然而要將這種理念落地,在工程層面涉及到很多的技術(shù)、理論和方法。(1)計(jì)算虛擬化與軟件定義計(jì)算(2)存儲(chǔ)虛擬化與軟件定義存儲(chǔ)(3)網(wǎng)絡(luò)虛擬化與軟件定義網(wǎng)絡(luò)在信息技術(shù)領(lǐng)域“虛擬化”概念最早是牛津大學(xué)克里斯托弗·斯特雷奇(ChristopherStrachey)教授,于1959年6月15日在國(guó)際信息處理大會(huì)上發(fā)表的《大型高速計(jì)算機(jī)中的時(shí)間共享》(“Timesharinginlargefastcomputers”)學(xué)術(shù)報(bào)告中提出的,文中論述了什么是虛擬化技術(shù),這篇文章被認(rèn)為是最早的虛擬化技術(shù)論述,從此拉開了虛擬化技術(shù)發(fā)展的帷幕。一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的實(shí)現(xiàn)技術(shù)——計(jì)算虛擬化與軟件定義計(jì)算3一、軟件定義與網(wǎng)絡(luò)安全概述克里斯托弗·斯特雷奇(ChristopherStrachey)教授Timesharinginlargefastcomputers軟件定義的實(shí)現(xiàn)技術(shù)——計(jì)算虛擬化與軟件定義計(jì)算3虛擬化技術(shù)廣義上來(lái)講,就是將一種形式的資源抽象成另一種形式的技術(shù),比如進(jìn)程的虛擬地址空間就是把物理內(nèi)存虛擬成多個(gè)邏輯的虛擬內(nèi)存空間。一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義的實(shí)現(xiàn)技術(shù)——計(jì)算虛擬化與軟件定義計(jì)算3計(jì)算虛擬化:主要是通過(guò)控制程序隱藏特定計(jì)算平臺(tái)的實(shí)際物理特性,為用戶提供抽象、統(tǒng)一、模擬的計(jì)算環(huán)境,實(shí)現(xiàn)硬件資源與計(jì)算能力的解耦。一、軟件定義與網(wǎng)絡(luò)安全概述(1)計(jì)算虛擬化(CV:ComputingVirtualization)
虛擬計(jì)算環(huán)境實(shí)現(xiàn)形式:虛擬機(jī)(VM:VirtualMachine)和容器軟件定義的實(shí)現(xiàn)技術(shù)——計(jì)算虛擬化與軟件定義計(jì)算3為了滿足當(dāng)前應(yīng)用對(duì)計(jì)算資源的多樣化和動(dòng)態(tài)化應(yīng)用需求,亟需計(jì)算資源能夠在一定范圍內(nèi)統(tǒng)一管理、靈活調(diào)配,如根據(jù)承載的應(yīng)用負(fù)載情況、運(yùn)行狀況和配置策略靈活、智能的動(dòng)態(tài)調(diào)整計(jì)算資源。一、軟件定義與網(wǎng)絡(luò)安全概述(2)軟件定義計(jì)算(SDC:SoftwareDefinedCompute)軟件定義的實(shí)現(xiàn)技術(shù)——計(jì)算虛擬化與軟件定義計(jì)算3一、軟件定義與網(wǎng)絡(luò)安全概述(2)軟件定義計(jì)算(SDC:SoftwareDefinedCompute)軟件定義的實(shí)現(xiàn)技術(shù)——計(jì)算虛擬化與軟件定義計(jì)算3
SDC是一種實(shí)現(xiàn)計(jì)算資源可編程管理的技術(shù),即在構(gòu)建的虛擬化計(jì)算資源池的基礎(chǔ)上,基于策略驅(qū)動(dòng)的方式,根據(jù)應(yīng)用需要靈活地進(jìn)行虛擬化計(jì)算資源的定制化、自動(dòng)化調(diào)配與管控。目前,主要是以虛擬機(jī)和容器為計(jì)算資源調(diào)配和管控的邏輯單位,即以虛擬機(jī)和容器為單位進(jìn)行計(jì)算資源的分配使用。在計(jì)算虛擬化技術(shù)與應(yīng)用飛速發(fā)展同時(shí),虛擬化也被拓延到存儲(chǔ)資源上。1977年IBM公司提交了《用于恢復(fù)故障存儲(chǔ)單元中存儲(chǔ)數(shù)據(jù)的系統(tǒng)》(“SystemforRecoveringDataStoredinFailedMemoryUnit”)報(bào)告,并于次年獲得獨(dú)立磁盤冗余陣列(RAID:RedundantArraysofIndependentDisks)專利,RAID可以將多個(gè)物理磁盤設(shè)備組合為一個(gè)虛擬化的存儲(chǔ)池。一、軟件定義與網(wǎng)絡(luò)安全概述(1)存儲(chǔ)虛擬化(SV:StorageVirtualization)軟件定義的實(shí)現(xiàn)技術(shù)——存儲(chǔ)虛擬化與軟件定義存儲(chǔ)3RAID技術(shù)是第一次將虛擬化的概念引入到存儲(chǔ)領(lǐng)域隨著計(jì)算機(jī)技術(shù)以及信息業(yè)務(wù)的飛速發(fā)展,數(shù)據(jù)每天都在呈現(xiàn)爆炸式的增長(zhǎng),使得數(shù)據(jù)存儲(chǔ)變得越來(lái)越復(fù)雜和對(duì)存儲(chǔ)容量的極大需求,已有存儲(chǔ)方式已遠(yuǎn)遠(yuǎn)不能滿足發(fā)展需求。一、軟件定義與網(wǎng)絡(luò)安全概述(1)存儲(chǔ)虛擬化(SV:StorageVirtualization)軟件定義的實(shí)現(xiàn)技術(shù)——存儲(chǔ)虛擬化與軟件定義存儲(chǔ)3特別是在信息基礎(chǔ)設(shè)施高度網(wǎng)絡(luò)化的情況下,如何能夠更好地存儲(chǔ)、保管和共享數(shù)據(jù)對(duì)于很多企業(yè)和行業(yè),甚至個(gè)人來(lái)說(shuō)都至關(guān)重要。三種類型數(shù)據(jù)存儲(chǔ)技術(shù)直連式附加存儲(chǔ)(DAS:DirectAttachedStorage)結(jié)構(gòu)三種類型數(shù)據(jù)存儲(chǔ)技術(shù)網(wǎng)絡(luò)附加存儲(chǔ)(NAS:NetworkAttachedStorage)結(jié)構(gòu)三種類型數(shù)據(jù)存儲(chǔ)技術(shù)存儲(chǔ)區(qū)域網(wǎng)(SAN:StorageAreaNetworks)結(jié)構(gòu)隨著存儲(chǔ)規(guī)模越來(lái)越龐大,存儲(chǔ)設(shè)備類型和應(yīng)用部署模式呈現(xiàn)多樣化和異構(gòu)化,使得存儲(chǔ)管理不再僅以存儲(chǔ)容量管理為主,還包括數(shù)據(jù)訪問(wèn)性能、數(shù)據(jù)傳輸性能、數(shù)據(jù)管理能力、存儲(chǔ)擴(kuò)展能力等多個(gè)方面的要求。一、軟件定義與網(wǎng)絡(luò)安全概述(1)存儲(chǔ)虛擬化(SV:StorageVirtualization)軟件定義的實(shí)現(xiàn)技術(shù)——存儲(chǔ)虛擬化與軟件定義存儲(chǔ)3如何更加有效地管理存儲(chǔ)資源成了一個(gè)亟需解決的問(wèn)題軟件定義的實(shí)現(xiàn)技術(shù)——存儲(chǔ)虛擬化與軟件定義存儲(chǔ)3是將物理存儲(chǔ)實(shí)體與存儲(chǔ)的表示分離開來(lái),為用戶提供統(tǒng)一、規(guī)范的存儲(chǔ)資源服務(wù)的邏輯視圖,以屏蔽物理存儲(chǔ)設(shè)備的復(fù)雜性和差異性,實(shí)現(xiàn)各種存儲(chǔ)資源的統(tǒng)一分配與管理。(1)存儲(chǔ)虛擬化(SV:StorageVirtualization)存儲(chǔ)虛擬化增強(qiáng)了存儲(chǔ)資源管理的效率與靈活性雖然存儲(chǔ)虛擬化技術(shù)實(shí)現(xiàn)了一定的存儲(chǔ)整合和存儲(chǔ)自動(dòng)化管理,但是隨著大數(shù)據(jù)時(shí)代的來(lái)臨,云計(jì)算、人工智能等新應(yīng)用、新模式和新業(yè)態(tài)的飛速發(fā)展,對(duì)數(shù)據(jù)存儲(chǔ)服務(wù)和管理的需求變得更加復(fù)雜、精細(xì)和個(gè)性化,現(xiàn)有的數(shù)據(jù)存儲(chǔ)服務(wù)模式和管理模式已不能適應(yīng)發(fā)展需求?;诖?,軟件定義存儲(chǔ)的理念被提出。一、軟件定義與網(wǎng)絡(luò)安全概述(2)軟件定義存儲(chǔ)(SDS:SoftwareDefinedStorage)軟件定義的實(shí)現(xiàn)技術(shù)——存儲(chǔ)虛擬化與軟件定義存儲(chǔ)3
SDS思想是:對(duì)構(gòu)建的虛擬化存儲(chǔ)資源(池)實(shí)現(xiàn)基于策略驅(qū)動(dòng)方式的可編程性控制管理,由平臺(tái)自動(dòng)調(diào)度、分配所需的存儲(chǔ)資源,而無(wú)需人工干預(yù),如此存儲(chǔ)管理人員就可從枯燥重復(fù)的建卷、映射卷等工作中解脫出來(lái),降低管理運(yùn)維成本,同時(shí)可提高存儲(chǔ)資源的利用效率和管理精準(zhǔn)度。一、軟件定義與網(wǎng)絡(luò)安全概述(2)軟件定義存儲(chǔ)(SDS:SoftwareDefinedStorage)軟件定義的實(shí)現(xiàn)技術(shù)——存儲(chǔ)虛擬化與軟件定義存儲(chǔ)3
SDS概念被提出后受到業(yè)界高度關(guān)注和重視,各大研究機(jī)構(gòu)和存儲(chǔ)設(shè)備廠商相繼提出各自的軟件定義存儲(chǔ)技術(shù),并研制出相應(yīng)的軟件定義存儲(chǔ)系統(tǒng)(或產(chǎn)品),如OpenStack中的Cinder塊存儲(chǔ)功能組件、VMware公司的SPBM(StoragePolicyBasedManagement)系統(tǒng),以及EMC公司的ViPR產(chǎn)品等。一、軟件定義與網(wǎng)絡(luò)安全概述(2)軟件定義存儲(chǔ)(SDS:SoftwareDefinedStorage)軟件定義的實(shí)現(xiàn)技術(shù)——存儲(chǔ)虛擬化與軟件定義存儲(chǔ)3一、軟件定義與網(wǎng)絡(luò)安全概述(1)網(wǎng)絡(luò)虛擬化(NV:NetworkVirtualization)軟件定義的實(shí)現(xiàn)技術(shù)——網(wǎng)絡(luò)虛擬化與軟件定義網(wǎng)絡(luò)3網(wǎng)絡(luò)虛擬化旨在一個(gè)共享的物理網(wǎng)絡(luò)資源之上創(chuàng)建一個(gè)或多個(gè)虛擬網(wǎng)絡(luò)(VN:VirtualNetwork),同時(shí)每個(gè)虛擬網(wǎng)絡(luò)可以獨(dú)立地部署以及管理。一、軟件定義與網(wǎng)絡(luò)安全概述(2)網(wǎng)絡(luò)功能虛擬化(NFV:NetworkFunctionsVirtualization)軟件定義的實(shí)現(xiàn)技術(shù)——網(wǎng)絡(luò)虛擬化與軟件定義網(wǎng)絡(luò)3網(wǎng)絡(luò)虛擬化使得網(wǎng)絡(luò)資源的應(yīng)用部署更加靈活、利用更加方便。為了進(jìn)一步提升網(wǎng)絡(luò)功能服務(wù)應(yīng)用部署的靈活性,在網(wǎng)絡(luò)虛擬化的基礎(chǔ)上,人們又提出了網(wǎng)絡(luò)功能虛擬化(NFV:NetworkFunctionsVirtualization)技術(shù)。
網(wǎng)絡(luò)功能虛擬化的實(shí)現(xiàn)思想是利用虛擬化技術(shù)將現(xiàn)有的網(wǎng)絡(luò)設(shè)備功能整合進(jìn)標(biāo)準(zhǔn)的服務(wù)器,以軟件的形式實(shí)現(xiàn)網(wǎng)絡(luò)功能,取代目前私有、專用和封閉的網(wǎng)元設(shè)備。一、軟件定義與網(wǎng)絡(luò)安全概述行業(yè)標(biāo)準(zhǔn)服務(wù)器:是指由標(biāo)準(zhǔn)信息技術(shù)組件構(gòu)成,即在標(biāo)準(zhǔn)服務(wù)器(例如X86服務(wù)器)內(nèi)的組件可替換,并且有一個(gè)充分競(jìng)爭(zhēng)的供應(yīng)市場(chǎng)。(意味著技術(shù)體系開放)(2)網(wǎng)絡(luò)功能虛擬化(NFV:NetworkFunctionsVirtualization)軟件定義的實(shí)現(xiàn)技術(shù)——網(wǎng)絡(luò)虛擬化與軟件定義網(wǎng)絡(luò)3網(wǎng)絡(luò)功能虛擬化NFV體系架構(gòu)網(wǎng)絡(luò)功能虛擬化的優(yōu)點(diǎn)(4)標(biāo)準(zhǔn)化的硬件資源更易于硬件擴(kuò)容升級(jí)與運(yùn)行維護(hù)。(1)虛擬化網(wǎng)絡(luò)功能更利于研發(fā);(2)虛擬化網(wǎng)絡(luò)功能更便于升級(jí)擴(kuò)展(如只需升級(jí)軟件);(3)虛擬化網(wǎng)絡(luò)功能更易于動(dòng)態(tài)、靈活部署,實(shí)現(xiàn)自動(dòng)化管理,降低運(yùn)維管理成本;
NFV實(shí)現(xiàn)了網(wǎng)絡(luò)功能與硬件設(shè)備解耦,相對(duì)于基于專用封閉的硬件設(shè)備的網(wǎng)絡(luò)功能架構(gòu),NFV架構(gòu)具有以下優(yōu)點(diǎn):在網(wǎng)絡(luò)功能虛擬化發(fā)展中,網(wǎng)絡(luò)安全功能的虛擬化是其中重要的發(fā)展內(nèi)容之一。一、軟件定義與網(wǎng)絡(luò)安全概述(2)網(wǎng)絡(luò)功能虛擬化(NFV:NetworkFunctionsVirtualization)軟件定義的實(shí)現(xiàn)技術(shù)——網(wǎng)絡(luò)虛擬化與軟件定義網(wǎng)絡(luò)3一、軟件定義與網(wǎng)絡(luò)安全概述(3)軟件定義網(wǎng)絡(luò)(SDN:SoftwareDefinedNetwork)軟件定義的實(shí)現(xiàn)技術(shù)——網(wǎng)絡(luò)虛擬化與軟件定義網(wǎng)絡(luò)3目前網(wǎng)絡(luò)設(shè)備大都是設(shè)備硬件、操作系統(tǒng)和網(wǎng)絡(luò)應(yīng)用三部分緊耦合、相互依賴組成一個(gè)封閉的系統(tǒng),每一部分的創(chuàng)新和演進(jìn)都與其余部分相關(guān)聯(lián)并受到制約。封閉性架構(gòu)嚴(yán)重阻礙網(wǎng)絡(luò)技術(shù)創(chuàng)新,增加網(wǎng)絡(luò)定制與優(yōu)化的難度需要一種開放、具有可編程能力的網(wǎng)絡(luò)技術(shù)架構(gòu)以支持快速增長(zhǎng)的網(wǎng)絡(luò)業(yè)務(wù)需求網(wǎng)絡(luò)可編程性的演進(jìn)發(fā)展網(wǎng)絡(luò)設(shè)備可配置1網(wǎng)絡(luò)設(shè)備管理控制平面數(shù)據(jù)平面CLI,WEB,GUI等
傳統(tǒng)交換機(jī)、路由器和防火墻等網(wǎng)絡(luò)設(shè)備給用戶預(yù)留了簡(jiǎn)單的命令行接口或圖形用戶界面,便于用戶進(jìn)行簡(jiǎn)單的配置與操作,例如配置IP地址、劃分VLAN等?!熬W(wǎng)絡(luò)設(shè)備可配置”是一種非常初級(jí)的網(wǎng)絡(luò)編程方式為獲取更多的網(wǎng)絡(luò)可編程能力,人們研究提出了ActiveNetworking,其允許用戶向網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送攜帶用戶命令的數(shù)據(jù)包,網(wǎng)絡(luò)節(jié)點(diǎn)按照指令完成網(wǎng)絡(luò)數(shù)據(jù)處理,從而實(shí)現(xiàn)用戶對(duì)網(wǎng)絡(luò)的編程控制。(僅在學(xué)術(shù)界引起重視)結(jié)論:想獲取更多網(wǎng)絡(luò)可編程能力,需將網(wǎng)絡(luò)設(shè)備進(jìn)行數(shù)控分離網(wǎng)絡(luò)設(shè)備可配置1數(shù)控分離2網(wǎng)絡(luò)設(shè)備管理控制平面數(shù)據(jù)平面CLI,WEB,GUI等數(shù)據(jù)平面數(shù)據(jù)平面接口控制平面網(wǎng)絡(luò)應(yīng)用
最早嘗試數(shù)控分離思路的是IETF工作組提出的ForCES(ForwardingandControlElementSeparation)框架。隨后又出現(xiàn)了RCP(RoutingControlPlatform)框架和4D(DecisionDisseminationDiscoveryData-Plane)架構(gòu)。百家爭(zhēng)鳴、未形成權(quán)威統(tǒng)一的標(biāo)準(zhǔn)網(wǎng)絡(luò)可編程性的演進(jìn)發(fā)展網(wǎng)絡(luò)設(shè)備可配置1數(shù)控分離2OpenFlow3網(wǎng)絡(luò)設(shè)備管理控制平面數(shù)據(jù)平面CLI,WEB,GUI等數(shù)據(jù)平面數(shù)據(jù)平面接口控制平面網(wǎng)絡(luò)應(yīng)用可編程數(shù)據(jù)平面OpenFlow接口OpenFlow控制器網(wǎng)絡(luò)應(yīng)用程序2007年斯坦福大學(xué)MartinCasado博士實(shí)現(xiàn)了面向企業(yè)網(wǎng)管理的Ethane項(xiàng)目,其是SDN架構(gòu)的雛形,也是OpenFlow的前身。
在2008年,NickMackeown教授等發(fā)表有關(guān)OpenFlow的論文,標(biāo)志著其的誕生。網(wǎng)絡(luò)可編程性的演進(jìn)發(fā)展網(wǎng)絡(luò)設(shè)備可配置1數(shù)控分離2OpenFlow3SDN控制器4網(wǎng)絡(luò)設(shè)備管理控制平面數(shù)據(jù)平面CLI,WEB,GUI等數(shù)據(jù)平面數(shù)據(jù)平面接口控制平面網(wǎng)絡(luò)應(yīng)用可編程數(shù)據(jù)平面OpenFlow接口OpenFlow控制器網(wǎng)絡(luò)應(yīng)用程序通用可編程數(shù)據(jù)平面OpenFlow等接口SDN控制器SDN應(yīng)用開放數(shù)據(jù)平面接口北向接口網(wǎng)絡(luò)可編程性的演進(jìn)發(fā)展一、移動(dòng)目標(biāo)防御基本理念SDN控制平面與數(shù)據(jù)平面分離的分層架構(gòu)被認(rèn)為是網(wǎng)絡(luò)領(lǐng)域的一場(chǎng)革命為新型互聯(lián)網(wǎng)體系結(jié)構(gòu)研究提供了新的思路途徑網(wǎng)絡(luò)設(shè)備可配置1數(shù)控分離2OpenFlow3SDN控制器4NPL5網(wǎng)絡(luò)設(shè)備管理控制平面數(shù)據(jù)平面CLI,WEB,GUI等數(shù)據(jù)平面數(shù)據(jù)平面接口控制平面網(wǎng)絡(luò)應(yīng)用可編程數(shù)據(jù)平面OpenFlow接口OpenFlow控制器網(wǎng)絡(luò)應(yīng)用程序通用可編程數(shù)據(jù)平面OpenFlow等接口SDN控制器SDN應(yīng)用開放數(shù)據(jù)平面接口北向接口通用可編程數(shù)據(jù)平面OpenFlow等接口SDN控制器+NPL編譯器SDN應(yīng)用開放數(shù)據(jù)平面接口北向接口NetworkProgrammingLanguages為了進(jìn)一步提升數(shù)據(jù)平面的網(wǎng)絡(luò)可編程能力,人們又提出了NPL(NetworkProgrammingLanguage)和網(wǎng)絡(luò)語(yǔ)言編譯器,讓SDN架構(gòu)朝著計(jì)算機(jī)高級(jí)軟件編程框架方向發(fā)展。(類似由面向硬件的匯編語(yǔ)言向面向業(yè)務(wù)的高級(jí)語(yǔ)言演變)網(wǎng)絡(luò)可編程性的演進(jìn)發(fā)展基于軟件定義網(wǎng)絡(luò)設(shè)施的云計(jì)算平臺(tái)軟件定義與虛擬化是云計(jì)算實(shí)現(xiàn)的重要支撐技術(shù)一、軟件定義與網(wǎng)絡(luò)安全概述(1)軟件定義的提出與發(fā)展(2)軟件定義的技術(shù)架構(gòu)(3)軟件定義的實(shí)現(xiàn)技術(shù)(4)軟件定義引發(fā)的安全影響隨著虛擬化與軟件定義等技術(shù)的應(yīng)用,使得網(wǎng)絡(luò)設(shè)施資源具有了更強(qiáng)的動(dòng)態(tài)性和可調(diào)度性,例如數(shù)據(jù)資源的遷移調(diào)度、計(jì)算資源(虛擬機(jī))的遷移調(diào)度和網(wǎng)絡(luò)資源(通信路徑)的遷移調(diào)度等。一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義引發(fā)的安全影響4使得信息網(wǎng)絡(luò)設(shè)施隨著業(yè)務(wù)需求的變更快速重塑成為可能信息網(wǎng)絡(luò)設(shè)施的“虛擬”與“軟件定義”特征化,使得其在網(wǎng)絡(luò)安全方面面臨諸多挑戰(zhàn):(1)網(wǎng)絡(luò)環(huán)境變化(如被保護(hù)資產(chǎn)的動(dòng)態(tài)性)帶來(lái)的新威脅(2)現(xiàn)有安全機(jī)制能否適應(yīng)具有虛擬化和軟件定義特征的網(wǎng)絡(luò)環(huán)境,
如安全策略是否能夠及時(shí)、正確跟隨網(wǎng)絡(luò)環(huán)境變遷。影響一:軟件定義思想與技術(shù)的應(yīng)用引發(fā)的新的安全威脅一、軟件定義與網(wǎng)絡(luò)安全概述軟件定義引發(fā)的安全影響4
軟件定義理念為網(wǎng)絡(luò)安全技術(shù)發(fā)展提供了新的思路和靈感,針對(duì)安全機(jī)制部署僵硬、運(yùn)維困難等問(wèn)題,人們將可編程思想引入網(wǎng)絡(luò)安全領(lǐng)域,提出軟件定義安全思想與概念:軟件定義思想觸發(fā)安全技術(shù)的新發(fā)展
軟件定義安全直觀的理解就是安全功能的可編程控制,即支持安全功能的執(zhí)行與調(diào)度、監(jiān)測(cè)與管理、以及功能間組合與重構(gòu)等的可編程控制。(1)技術(shù)架構(gòu)遵循數(shù)控分離特征:是軟件定義安全的基礎(chǔ)與條件(2)支持安全功能的可編程控制:是軟件定義安全的根本與目標(biāo)影響二:基于軟件定義理念的網(wǎng)絡(luò)安全新技術(shù)謝謝!軟件定義與網(wǎng)絡(luò)安全
第2單元:計(jì)算虛擬化與軟件定義計(jì)算二、計(jì)算虛擬化與軟件定義計(jì)算計(jì)算虛擬化:是通過(guò)控制程序隱藏特定計(jì)算平臺(tái)的實(shí)際物理特性,為用戶提供抽象的、統(tǒng)一的、模擬的計(jì)算環(huán)境,可實(shí)現(xiàn)硬件資源與計(jì)算能力的解耦。
虛擬計(jì)算環(huán)境的實(shí)現(xiàn)形式:虛擬機(jī)(VM:VirtualMachine)和容器二、計(jì)算虛擬化與軟件定義計(jì)算(1)虛擬機(jī)技術(shù)(2)容器技術(shù)(3)軟件定義計(jì)算技術(shù)虛擬機(jī)技術(shù)1二、計(jì)算虛擬化與軟件定義計(jì)算
虛擬機(jī)(VM)從形式上是一種邏輯主機(jī),與物理主機(jī)一樣內(nèi)部需要運(yùn)行操作系統(tǒng),其通常被稱為客戶操作系統(tǒng)(GuestOS)。虛擬機(jī)的運(yùn)行需要一個(gè)被稱為Hypervisor或虛擬機(jī)監(jiān)控器(VMM:VirtualMachineMonitor)的虛擬化層做支撐,基于虛擬化層在同一套硬件平臺(tái)上可獨(dú)立運(yùn)行多個(gè)VM,以共享硬件資源提供的計(jì)算能力。虛擬機(jī)技術(shù)——虛擬機(jī)實(shí)現(xiàn)技術(shù)架構(gòu)與分類1二、計(jì)算虛擬化與軟件定義計(jì)算根據(jù)VMM所處運(yùn)行層面的不同,虛擬機(jī)實(shí)現(xiàn)包括以下兩種技術(shù)架構(gòu):虛擬機(jī)技術(shù)——虛擬機(jī)實(shí)現(xiàn)技術(shù)架構(gòu)與分類1二、計(jì)算虛擬化與軟件定義計(jì)算
VMM無(wú)論采用哪種實(shí)現(xiàn)技術(shù)架構(gòu),從應(yīng)用程序的角度看,運(yùn)行在虛擬機(jī)上同運(yùn)行在對(duì)應(yīng)的實(shí)體計(jì)算機(jī)一樣,即運(yùn)行在某一種特定的指令集架構(gòu)(InstructionSetArchitecture,ISA)之上。
虛擬機(jī)的ISA可以等同于支撐其運(yùn)行的物理機(jī)器ISA,也可以不完全相同。(1)相同時(shí):客戶操作系統(tǒng)不需要修改,虛擬機(jī)就可在物理機(jī)器上正常運(yùn)行;
(2)不同時(shí):客戶操作系統(tǒng)就必須修改,虛擬機(jī)才能在物理機(jī)器上正常運(yùn)行。虛擬機(jī)技術(shù)——虛擬機(jī)實(shí)現(xiàn)技術(shù)架構(gòu)與分類1二、計(jì)算虛擬化與軟件定義計(jì)算根據(jù)是否需要修改客戶機(jī)操作系統(tǒng),虛擬機(jī)的虛擬化實(shí)現(xiàn)技術(shù)被分為:
(1)全虛擬化(Full-virtualization)技術(shù):虛擬機(jī)客戶操作系統(tǒng)不需要修改。
(2)半虛擬化(Para-virtualization)技術(shù):虛擬機(jī)客戶操作系統(tǒng)則需要改造。隨著硬件虛擬化技術(shù)的發(fā)展,又出現(xiàn)了基于硬件輔助的虛擬機(jī)實(shí)現(xiàn)技術(shù)。虛擬機(jī)技術(shù)——基于x86架構(gòu)的虛擬機(jī)實(shí)現(xiàn)技術(shù)1二、計(jì)算虛擬化與軟件定義計(jì)算虛擬機(jī)技術(shù)發(fā)展早期只在大型機(jī)和小型機(jī)上得到了應(yīng)用,直到上世紀(jì)80年代開始,x86架構(gòu)計(jì)算機(jī)技術(shù)成熟并得到廣泛應(yīng)用,基于x86架構(gòu)的虛擬化技術(shù)及產(chǎn)品才如雨后春筍般涌現(xiàn)。虛擬機(jī)技術(shù)——基于x86架構(gòu)的虛擬機(jī)實(shí)現(xiàn)技術(shù)1(1)x86架構(gòu)計(jì)算平臺(tái)指令執(zhí)行方式基于x86架構(gòu)的計(jì)算平臺(tái)為操作系統(tǒng)和應(yīng)用程序提供了Ring0至Ring3四個(gè)特權(quán)級(jí)操作系統(tǒng)(內(nèi)核)運(yùn)行在最高運(yùn)行級(jí)別Ring0上,可以直接使用特權(quán)指令,如控制中斷、修改頁(yè)表、訪問(wèn)設(shè)備等。應(yīng)用程序運(yùn)行在最低級(jí)別Ring3上,不能執(zhí)行特權(quán)操作,要想執(zhí)行就要通過(guò)系統(tǒng)調(diào)用跳轉(zhuǎn)到OS內(nèi)核執(zhí)行,則會(huì)從Ring3切換到Ring0,操作完成后再?gòu)腞ing0返回Ring3。虛擬機(jī)技術(shù)——基于x86架構(gòu)的虛擬機(jī)實(shí)現(xiàn)技術(shù)1(1)x86架構(gòu)計(jì)算平臺(tái)指令執(zhí)行方式基于x86架構(gòu)的計(jì)算平臺(tái)為操作系統(tǒng)和應(yīng)用程序提供了Ring0至Ring3四個(gè)特權(quán)級(jí)虛擬化難題:主機(jī)操作系統(tǒng)工作在Ring0,客戶操作系統(tǒng)就不能在Ring0上執(zhí)行,因此在執(zhí)行敏感指令和特權(quán)指令時(shí)就會(huì)引發(fā)系統(tǒng)錯(cuò)誤。面向x86架構(gòu)的全虛擬化、半虛擬化和硬件輔助虛擬化三種典型技術(shù)方案面向x86架構(gòu)的全虛擬化、半虛擬化和硬件輔助虛擬化三種典型技術(shù)方案
虛擬機(jī)技術(shù)——基于x86架構(gòu)的虛擬機(jī)實(shí)現(xiàn)技術(shù)1(2)x86架構(gòu)計(jì)算平臺(tái)——全虛擬化技術(shù)客戶操作系統(tǒng)的敏感和特權(quán)指令無(wú)法直接下達(dá)至計(jì)算機(jī)系統(tǒng)硬件執(zhí)行,則需要利用翻譯技術(shù)經(jīng)過(guò)VMM捕獲進(jìn)行模擬化執(zhí)行。虛擬機(jī)技術(shù)——基于x86架構(gòu)的虛擬機(jī)實(shí)現(xiàn)技術(shù)1(2)x86架構(gòu)計(jì)算平臺(tái)——全虛擬化技術(shù)
動(dòng)態(tài)二進(jìn)制翻譯技術(shù)DBT(DynamicBinaryTransition):是一種直接翻譯可執(zhí)行二進(jìn)制程序的技術(shù),即將代碼從源機(jī)器平臺(tái)映射到目標(biāo)機(jī)器平臺(tái),使源機(jī)器平臺(tái)上的代碼“適應(yīng)”目標(biāo)平臺(tái)。全虛擬化典型系統(tǒng):VMware公司早期發(fā)布的VMwareWorkstation虛擬機(jī)技術(shù)——
基于x86架構(gòu)的虛擬機(jī)實(shí)現(xiàn)技術(shù)1(3)x86架構(gòu)計(jì)算平臺(tái)——半虛擬化技術(shù)VMM運(yùn)行在Ring0,客戶機(jī)操作系統(tǒng)運(yùn)行在Ring1,應(yīng)用程序處于Ring3。為了解決客戶機(jī)操作系統(tǒng)敏感和特權(quán)指令的執(zhí)行問(wèn)題,通過(guò)修改客戶機(jī)操作系統(tǒng)內(nèi)核,將不可虛擬化的指令轉(zhuǎn)化為與虛擬化層進(jìn)行交互的超級(jí)調(diào)用(Hypercall)方式實(shí)現(xiàn)指令執(zhí)行。半虛擬化典型系統(tǒng):Xen3.0之前版本虛擬機(jī)技術(shù)——
基于x86架構(gòu)的虛擬機(jī)實(shí)現(xiàn)技術(shù)1(4)x86架構(gòu)計(jì)算平臺(tái)——硬件輔助虛擬化技術(shù)為簡(jiǎn)化虛擬化處理,Intel、AMD等硬件廠商相繼推出了硬件輔助虛擬化技術(shù),即Intel的VT-x和AMD的AMD-V,兩者針對(duì)特權(quán)指令為CPU添加了一個(gè)根模式。VMM運(yùn)行在根模式下,客戶操作系統(tǒng)就可運(yùn)行在Ring0級(jí)別,應(yīng)用程序仍然處于最低級(jí)Ring3??蛻舨僮飨到y(tǒng)的特權(quán)和敏感調(diào)用可直接陷入VMM執(zhí)行,不依賴動(dòng)態(tài)二進(jìn)制翻譯和修改操作系統(tǒng)的半虛擬化等技術(shù)。虛擬機(jī)技術(shù)——KVM虛擬機(jī)系統(tǒng)1二、計(jì)算虛擬化與軟件定義計(jì)算
KVM(Kernel-basedVirtualMachine)是一套開源基于硬件輔助的全虛擬化虛擬機(jī)系統(tǒng),最初由以色列Qumranet公司開發(fā),2007年2月被正式集成到Linux2.6.20內(nèi)核中。
KVM支持的操作系統(tǒng)包括:各種Linux版本、FreeBSD、Solaris、Windows、Haiku、ReactOS、Plan9、AROSResearchOS和MACOSX等,因此KVM成為目前主流的虛擬機(jī)運(yùn)行環(huán)境。。KVM虛擬化運(yùn)行環(huán)境組成架構(gòu)KVM模塊:是虛擬化環(huán)境的核心部分,形式上是Linux內(nèi)核的一個(gè)加載模塊,規(guī)模非常小。KVM模塊本身并不執(zhí)行任何硬件模擬,而是需要借助相應(yīng)的用戶空間程序?qū)崿F(xiàn),所以管理和創(chuàng)建KVM虛擬機(jī)還需要QEMU、Libvirt等輔助軟件系統(tǒng)。KVM虛擬化運(yùn)行系統(tǒng)虛擬化運(yùn)行系統(tǒng)
QEMU:是一個(gè)開源I/O虛擬化軟件,可對(duì)如網(wǎng)卡、硬盤等計(jì)算機(jī)物理層環(huán)境進(jìn)行虛擬化。KVM虛擬機(jī)所有I/O請(qǐng)求都會(huì)被截獲并發(fā)送給QEMU用戶進(jìn)程,除此之外虛擬機(jī)的配置和創(chuàng)建,以及諸如動(dòng)態(tài)遷移等功能也都是由QEMU實(shí)現(xiàn)。KVM虛擬化運(yùn)行系統(tǒng)虛擬化運(yùn)行系統(tǒng)
Libvirt:是一個(gè)開源工具,其設(shè)計(jì)目的是通過(guò)相同方式管理如KVM、Xen等虛擬化引擎。①對(duì)虛擬機(jī)進(jìn)行創(chuàng)建、啟動(dòng)、關(guān)閉、掛起、恢復(fù)、遷移和銷毀等管理操作;②對(duì)虛擬機(jī)的處理器、內(nèi)存、硬盤和網(wǎng)卡等進(jìn)行添加和刪除等。Libvirt架構(gòu)組成虛擬化運(yùn)行系統(tǒng)
LibvirtAPI庫(kù):用C語(yǔ)言實(shí)現(xiàn)的應(yīng)用編程接口,支持Python、Perl、Java等程序語(yǔ)言,通過(guò)提供統(tǒng)一的應(yīng)用編程接口來(lái)對(duì)底層不同VMM的實(shí)現(xiàn)細(xì)節(jié)進(jìn)行屏蔽。Libvirt架構(gòu)組成虛擬化運(yùn)行系統(tǒng)
Libvirtd管理守候服務(wù):是一個(gè)運(yùn)行的后臺(tái)進(jìn)程,虛擬機(jī)管理應(yīng)用程序可以通過(guò)Libvirtd服務(wù)進(jìn)程實(shí)現(xiàn)對(duì)虛擬機(jī)的管理操作。Libvirt部署模式虛擬化運(yùn)行系統(tǒng)
Libvirt本地部署模式Libvirt遠(yuǎn)程部署模式虛擬機(jī)技術(shù)1二、計(jì)算虛擬化與軟件定義計(jì)算
虛擬機(jī)技術(shù)優(yōu)點(diǎn):虛擬機(jī)系統(tǒng)相對(duì)獨(dú)立、安全隔離、便于擴(kuò)展,具有可控的計(jì)算資源等。
虛擬機(jī)技術(shù)缺點(diǎn):因?yàn)槊總€(gè)虛擬機(jī)內(nèi)都需要運(yùn)行一個(gè)完整的客戶操作系統(tǒng),所以會(huì)造成大量計(jì)算資源的消耗?;诖?,人們進(jìn)一步提出了基于容器的計(jì)算虛擬化技術(shù)。二、計(jì)算虛擬化與軟件定義計(jì)算(1)虛擬機(jī)技術(shù)(2)容器技術(shù)(3)軟件定義計(jì)算技術(shù)容器技術(shù)2二、計(jì)算虛擬化與軟件定義計(jì)算
容器不需要客戶操作系統(tǒng),其是在操作系統(tǒng)層面對(duì)用戶空間進(jìn)行抽象化,因此也稱其為操作系統(tǒng)級(jí)虛擬化(OS-levelVirtualization)。因?yàn)椴恍鑶为?dú)加載操作系統(tǒng),所以容器是一種輕量級(jí)計(jì)算虛擬化技術(shù),不需要消耗太多計(jì)算資源。容器技術(shù)——技術(shù)基礎(chǔ)
2二、計(jì)算虛擬化與軟件定義計(jì)算容器的技術(shù)實(shí)現(xiàn)主要是基于Linux內(nèi)核的命名空間隔離(NamespaceIsolation)與控制組(ControlGroup)等兩個(gè)功能機(jī)制。容器技術(shù)——技術(shù)基礎(chǔ)——命名空間隔離2
命名空間隔離是Linux系統(tǒng)一種資源隔離機(jī)制,允許將全局系統(tǒng)資源劃分為多個(gè)獨(dú)立且相互隔離的部分。
容器通常要求具有以下隔離功能:(1)隔離的文件系統(tǒng),以便進(jìn)行數(shù)據(jù)資源隔離控制;(2)獨(dú)立的機(jī)器名或域名,以便標(biāo)識(shí)自己;(3)獨(dú)立的IP、端口和路由等,以便在網(wǎng)絡(luò)環(huán)境中能夠進(jìn)行容器定位;(4)獨(dú)立的進(jìn)程號(hào),以便進(jìn)行容器進(jìn)程標(biāo)識(shí);(5)獨(dú)立的用戶和用戶組,以便實(shí)現(xiàn)用戶權(quán)限的隔離控制。容器技術(shù)——技術(shù)基礎(chǔ)
2二、計(jì)算虛擬化與軟件定義計(jì)算
Linux內(nèi)核主要提供了六種Namespace隔離類型:二、計(jì)算虛擬化與軟件定義計(jì)算容器技術(shù)——技術(shù)基礎(chǔ)2
命名空間隔離創(chuàng)建了不同的系統(tǒng)資源視圖,然而其并未完全限制資源使用,即沒有實(shí)現(xiàn)真正資源隔離控制。假設(shè)創(chuàng)建命名空間NS-A的資源視圖包括1GhzCPU和1G內(nèi)存,進(jìn)程A在命名空間NS-A內(nèi)運(yùn)行,但是進(jìn)程A仍然可以使用到2GhzCPU或3G內(nèi)存。容器技術(shù)——技術(shù)基礎(chǔ)——控制組2
控制組是Linux系統(tǒng)一種資源管控機(jī)制,能夠?qū)M(jìn)程實(shí)施物理資源(如CPU、內(nèi)存和I/O等)的訪問(wèn)限制和優(yōu)先級(jí)設(shè)置,從而實(shí)現(xiàn)資源的分配和控制。
控制組主要有三個(gè)核心組件:(1)Subsystem(子系統(tǒng)):用于管理特定類型資源的模塊,例如CPU、內(nèi)存、磁盤I/O等;(2)CgroupHierarchy(Cgroup層級(jí)樹):用于組織和管理控制組的模塊,一個(gè)Hierarchy由一個(gè)或多個(gè)subsystem組成,形成樹狀的多層資源管理結(jié)構(gòu);(3)Cgroup(控制組):是最終資源管理單元,一個(gè)進(jìn)程可以是多個(gè)Cgroup成員,但是這些Cgroup必須在不同的Hierarchy中。二、計(jì)算虛擬化與軟件定義計(jì)算容器技術(shù)——技術(shù)基礎(chǔ)
2
命名空間隔離和控制組這兩項(xiàng)功能機(jī)制,相互補(bǔ)充共同實(shí)現(xiàn)封閉隔離的容器環(huán)境,是Linux實(shí)現(xiàn)容器虛擬化的關(guān)鍵,LXC(LinuxContainer)和Docker等容器系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)技術(shù)。二、計(jì)算虛擬化與軟件定義計(jì)算容器技術(shù)——Docker技術(shù)2
Docker技術(shù)由DockerInc.公司于2013年推出,是目前最流行的容器虛擬化技術(shù),它能夠?qū)?yīng)用程序和相關(guān)組件打包到一個(gè)輕量級(jí)、獨(dú)立的容器執(zhí)行環(huán)境中。
Docker技術(shù)兩個(gè)重要概念:Docker鏡像(Image)和Docker容器(Container)二、計(jì)算虛擬化與軟件定義計(jì)算容器技術(shù)——Docker技術(shù)——Docker鏡像(Image)2
Docker鏡像是Docker容器構(gòu)建的基礎(chǔ),是一種輕量級(jí)、獨(dú)立的文件系統(tǒng),類似于虛擬機(jī)中的鏡像,可以提供容器運(yùn)行時(shí)的程序代碼、環(huán)境變量、配置文件等。容器技術(shù)——Docker技術(shù)——Docker鏡像(Image)2最底層是引導(dǎo)文件系統(tǒng)bootfs,當(dāng)容器啟動(dòng)后引導(dǎo)文件系統(tǒng)隨即從內(nèi)存被卸載。在Docker鏡像構(gòu)建中采用了聯(lián)合文件系統(tǒng)(UnionFS)技術(shù),其實(shí)現(xiàn)架構(gòu)為分層存儲(chǔ)模式,上一層是下一層的基礎(chǔ)。容器技術(shù)——Docker技術(shù)——Docker鏡像(Image)2在Docker鏡像構(gòu)建中采用了聯(lián)合文件系統(tǒng)(UnionFS)技術(shù),其實(shí)現(xiàn)架構(gòu)為分層存儲(chǔ)模式,上一層是下一層的基礎(chǔ)。第二層是root文件系統(tǒng),root文件系統(tǒng)永遠(yuǎn)是只讀狀態(tài),該層通常被稱為基礎(chǔ)鏡像(BaseImage)。容器技術(shù)——Docker技術(shù)——Docker鏡像(Image)2在Docker鏡像構(gòu)建中采用了聯(lián)合文件系統(tǒng)(UnionFS)技術(shù),其實(shí)現(xiàn)架構(gòu)為分層存儲(chǔ)模式,上一層是下一層的基礎(chǔ)。利用聯(lián)合加載(Unionmount)技術(shù)可在root文件系統(tǒng)層上加載了多個(gè)只讀文件系統(tǒng)。Docker鏡像可基于分層存儲(chǔ)的方式進(jìn)行繼承復(fù)用和定制
——在基礎(chǔ)鏡像之上定制和構(gòu)建適用于具體應(yīng)用的鏡像容器技術(shù)——Docker技術(shù)——Docker容器(Container)2
Docker容器是由Docker鏡像創(chuàng)建的運(yùn)行實(shí)例,是鏡像的運(yùn)行時(shí)狀態(tài),可以被創(chuàng)建、啟動(dòng)、停止、刪除等。容器技術(shù)——Docker技術(shù)——Docker容器(Container)2當(dāng)基于鏡像創(chuàng)建啟動(dòng)容器時(shí),Docker會(huì)在鏡像之上加載一個(gè)讀寫文件系統(tǒng)(即讀寫層Container),其是容器執(zhí)行程序的地方。初始啟動(dòng)容器時(shí)讀寫層為空,在文件系統(tǒng)發(fā)生變化時(shí)會(huì)應(yīng)用到這一層。例如,如果想要修改一個(gè)文件,該文件首先會(huì)從只讀層被復(fù)制到讀寫層,當(dāng)然該文件的只讀版本依然存在于只讀層,只是被讀寫層的該文件副本所隱藏,這種機(jī)制被稱為寫時(shí)復(fù)制(Copyonwrite)。容器技術(shù)——Docker技術(shù)——Docker系統(tǒng)組成架構(gòu)2NamespaceCgroupsDockerClient是用戶進(jìn)行Docker系統(tǒng)管理的戶接口,可通過(guò)交互命令行接口CLI與DockerServer進(jìn)行交互,向DockerServer發(fā)出用戶請(qǐng)求執(zhí)行相應(yīng)的容器管理操作。NamespaceCgroupsDockerdaemon是Docker系統(tǒng)的主體與核心,是常駐后臺(tái)的系統(tǒng)進(jìn)程,主要由DockerServer和DockerEngine構(gòu)成。DockerServer:負(fù)責(zé)處理dockerclient發(fā)送的用戶請(qǐng)求,會(huì)生成具體任務(wù)并分發(fā)給不同模塊執(zhí)行,這些任務(wù)被定義為Job,具體由DockerEngine處理。DockerEngine:是Docker架構(gòu)中的運(yùn)行引擎,負(fù)責(zé)Job的調(diào)度和執(zhí)行,通過(guò)執(zhí)行Job的方式來(lái)操縱管理容器。NamespaceCgroupsDockerRegistry:負(fù)責(zé)存儲(chǔ)和分發(fā)Docker鏡像,為容器的構(gòu)建和運(yùn)行提供基礎(chǔ)支持。在Docker系統(tǒng)中,DockerEngine會(huì)與DockerRegistry通信,實(shí)現(xiàn)搜索鏡像、下載鏡像、上傳鏡像的功能。NamespaceCgroupsDockerDriver:是Docker架構(gòu)中的驅(qū)動(dòng)模塊,通過(guò)它Docker系統(tǒng)可以實(shí)現(xiàn)對(duì)Docker容器運(yùn)行環(huán)境的定制。Graphdriver:用于完成容器鏡像的管理,包括獲取與存儲(chǔ)。Networkdriver:用于完成Docker容器網(wǎng)絡(luò)環(huán)境的配置。Execdriver:是Docker容器的執(zhí)行驅(qū)動(dòng),負(fù)責(zé)創(chuàng)建容器運(yùn)行命名空間、統(tǒng)計(jì)和限制容器資源使用、支撐容器內(nèi)部進(jìn)程的運(yùn)行等。NamespaceCgroupsDockerGraphDB:是一個(gè)小型數(shù)據(jù)庫(kù)(如SQLite),負(fù)責(zé)在本地存儲(chǔ)Docker鏡像,存儲(chǔ)的信息包括容器鏡像的元數(shù)據(jù)、大小信息等。NamespaceCgroupsLibcontainer:提供一套標(biāo)準(zhǔn)化接口,Docker系統(tǒng)通過(guò)其訪問(wèn)Linux內(nèi)核中與容器相關(guān)的API,如Namespace和Cgroups的系統(tǒng)調(diào)用,實(shí)施對(duì)容器的管理和運(yùn)行支撐。NamespaceCgroupsDockerContainer(即Docker容器):是Docker架構(gòu)中服務(wù)交付的最終體現(xiàn)方式,是為用戶提供服務(wù)的一個(gè)或一組應(yīng)用實(shí)例。每個(gè)容器獨(dú)立運(yùn)行、互不影響,通過(guò)調(diào)用Libcontainer庫(kù)操縱Linux內(nèi)核中namespace、cgroups、網(wǎng)絡(luò)等功能。容器技術(shù)——Docker技術(shù)——Docker系統(tǒng)部署模式2在實(shí)際應(yīng)用時(shí),Docker系統(tǒng)各組件可集中部署也可分離部署。Docker系統(tǒng)分離部署架構(gòu)容器技術(shù)——Docker技術(shù)——Docker系統(tǒng)部署模式2Docker系統(tǒng)的虛擬化計(jì)算環(huán)境二、計(jì)算虛擬化與軟件定義計(jì)算容器技術(shù)2容器相對(duì)虛擬機(jī)存在的不足:(1)安全隔離能力較弱(2)應(yīng)用支持能力有限:對(duì)于無(wú)狀態(tài)類型應(yīng)用支持可謂完美,但是對(duì)于數(shù)據(jù)庫(kù)、ACID(即原子性Atomicity、一致性Consistency、隔離性Isolation和持久性Durability)等類型應(yīng)用支持存在很大不足。(3)平臺(tái)兼容能力不夠:虛擬機(jī)中可運(yùn)行不同客戶操作系統(tǒng),所以可支持不同操作系統(tǒng)的應(yīng)用程序運(yùn)行;因?yàn)槿萜鞴蚕硭拗鞑僮飨到y(tǒng),所以在容器中只能運(yùn)行宿主操作系統(tǒng)的應(yīng)用程序。二、計(jì)算虛擬化與軟件定義計(jì)算(1)虛擬機(jī)技術(shù)(2)容器技術(shù)(3)軟件定義計(jì)算技術(shù)二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)3
隨著云計(jì)算、大數(shù)據(jù)與人工智能等概念的提出與應(yīng)用的飛速發(fā)展,對(duì)計(jì)算資源的應(yīng)用與管理需求變得更加動(dòng)態(tài)和多樣,因此亟需一種能夠?qū)τ?jì)算資源實(shí)施動(dòng)態(tài)性調(diào)配與定制化管理的技術(shù)。
軟件定義計(jì)算(SDC,SoftwareDefinedCompute):是一種實(shí)現(xiàn)計(jì)算資源可編程管理的技術(shù),即在構(gòu)建的虛擬化計(jì)算資源池基礎(chǔ)上,可根據(jù)應(yīng)用需要利用編程方式靈活地進(jìn)行虛擬化計(jì)算資源的自動(dòng)化調(diào)配與管控。軟件定義計(jì)算技術(shù)3由控制管理計(jì)算資源的軟件系統(tǒng)或組件構(gòu)成,基于策略驅(qū)動(dòng)方式負(fù)責(zé)計(jì)算資源的運(yùn)轉(zhuǎn)與監(jiān)控管理。向下通過(guò)執(zhí)行平面接口調(diào)度和管理各類計(jì)算資源。向上為應(yīng)用平面提供應(yīng)用編程接口,使得上層應(yīng)用可以靈活編排和使用計(jì)算資源。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)3(1)OpenStack虛擬機(jī)編排技術(shù)(2)K8s容器編排技術(shù)二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——OpenStack簡(jiǎn)介3
OpenStack是美國(guó)國(guó)家航空航天局NASA和Rackspace公司在2010年聯(lián)合發(fā)布的一個(gè)云計(jì)算管理平臺(tái)項(xiàng)目,由一系列開源軟件組成。①向下組織、調(diào)度管理信息網(wǎng)絡(luò)基礎(chǔ)設(shè)施中各種計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)甚至應(yīng)用等IT資源;
②向上提供諸如IaaS(基礎(chǔ)設(shè)施即服務(wù))、PaaS(平臺(tái)即服務(wù))和SaaS(軟件即服務(wù))等IT服務(wù)。OpenStack中計(jì)算服務(wù)組件,主要負(fù)責(zé)對(duì)虛擬機(jī)實(shí)施全生命周期的控制和管理,即負(fù)責(zé)虛擬機(jī)的創(chuàng)建、開機(jī)、關(guān)機(jī)、掛起、暫停、遷移、銷毀等,以及進(jìn)行虛擬機(jī)CPU、內(nèi)存等配置。OpenStack中虛擬機(jī)鏡像管理服務(wù)組件,能夠?qū)崿F(xiàn)虛擬機(jī)鏡像的創(chuàng)建與上傳、查找與檢索、編輯與刪除等功能,支持ISO、Raw、VDI等多種類型虛擬機(jī)鏡像格式。OpenStack中塊存儲(chǔ)服務(wù)組件,為虛擬機(jī)運(yùn)行實(shí)例提供數(shù)據(jù)塊存儲(chǔ)服務(wù),如創(chuàng)建卷、刪除卷、在實(shí)例上掛載和卸載卷等。OpenStack中對(duì)象存儲(chǔ)服務(wù)組件,可為Glance提供鏡像存儲(chǔ),為Cinder提供卷備份服務(wù)。OpenStack中網(wǎng)絡(luò)服務(wù)組件,提供網(wǎng)絡(luò)連接服務(wù),以及DHCP、DNS、VPN和負(fù)載均衡等高級(jí)網(wǎng)絡(luò)服務(wù)。OpenStack中部署編排服務(wù)組件,提供了一種基于模板定義的資源及應(yīng)用的協(xié)同部署方式。OpenStack中認(rèn)證服務(wù)組件,提供如身份認(rèn)證、令牌管理和訪問(wèn)控制等安全功能。測(cè)量服務(wù)組件用戶接口界面為了便于服務(wù)組件的獨(dú)立發(fā)展和與第三方系統(tǒng)集成在架構(gòu)設(shè)計(jì)中采用了一種基于RESTfulAPI的服務(wù)請(qǐng)求與應(yīng)答機(jī)制二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——RESTfulAPI開發(fā)框架3
RESTfulAPI框架是一種遵循表現(xiàn)層狀態(tài)轉(zhuǎn)換(REST:RepresentationalStateTransfer)設(shè)計(jì)原則與約束的應(yīng)用服務(wù)的開發(fā)方式,主要被應(yīng)用于客戶/服務(wù)類的軟件開發(fā)。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——RESTfulAPI開發(fā)框架3
無(wú)狀態(tài)特征:在RESTfulAPI框架中,服務(wù)端只需保存資源相關(guān)信息而不需對(duì)客戶端應(yīng)用狀態(tài)進(jìn)行保存。
正是框架的無(wú)狀態(tài)特征使得應(yīng)用狀態(tài)只保存在客戶端,從而減少了服務(wù)端維護(hù)應(yīng)用會(huì)話所消耗的資源。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——RESTfulAPI開發(fā)框架3
RESTfulAPI開發(fā)框架主要基于HTTP、JSON、URI和HTML等Web服務(wù)開發(fā)標(biāo)準(zhǔn)和協(xié)議構(gòu)建;
可使用不同編程語(yǔ)言編寫客戶端和服務(wù)端,通過(guò)HTTP的POST、PUT、DELETE、GET等方法實(shí)現(xiàn)對(duì)服務(wù)端資源的操作。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——RESTfulAPI開發(fā)框架3
RESTfulAPI開發(fā)框架使得客戶端無(wú)需了解應(yīng)用系統(tǒng)層級(jí)關(guān)系,從而可以實(shí)現(xiàn)不同層級(jí)和模塊的解耦,提高系統(tǒng)拓展性,即每個(gè)層級(jí)的服務(wù)只需關(guān)心和自身聯(lián)系的層級(jí),因此設(shè)計(jì)實(shí)現(xiàn)也更加獨(dú)立和清晰。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Nova計(jì)算服務(wù)組件3在OpenStack框架中,與虛擬機(jī)系統(tǒng)相關(guān)的功能主要集中在Nova服務(wù)組件中,負(fù)責(zé)對(duì)虛擬機(jī)的全生命周期的管理。
注意:Nova組件本身不提供任何虛擬化能力,其僅僅是通過(guò)調(diào)用如LibvirtAPI等第三方接口與VMM進(jìn)行交互,實(shí)現(xiàn)對(duì)虛擬機(jī)系統(tǒng)的調(diào)度管控。軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Nova計(jì)算服務(wù)組件3
Nova服務(wù)組件主要包含Nova-api、Nova-compute、Nova-conductor和Nova-scheduler等功能模塊。是對(duì)虛擬機(jī)管理的核心服務(wù),通過(guò)調(diào)用虛擬機(jī)管理API完成對(duì)虛擬機(jī)系統(tǒng)的操控與管理。軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Nova計(jì)算服務(wù)組件3軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Nova計(jì)算服務(wù)組件3
Nova服務(wù)組件主要包含Nova-api、Nova-compute、Nova-conductor和Nova-scheduler等功能模塊。負(fù)責(zé)計(jì)算資源的調(diào)度,其提供多種算法來(lái)應(yīng)對(duì)不同場(chǎng)景下Nova對(duì)計(jì)算資源的調(diào)度。軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Nova計(jì)算服務(wù)組件3
Nova服務(wù)組件主要包含Nova-api、Nova-compute、Nova-conductor和Nova-scheduler等功能模塊。Nova各個(gè)服務(wù)模塊與數(shù)據(jù)庫(kù)交互的接口。軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Nova計(jì)算服務(wù)組件3
Nova服務(wù)組件主要包含Nova-api、Nova-compute、Nova-conductor和Nova-scheduler等功能模塊。Nova服務(wù)的訪問(wèn)入口,對(duì)外提供RESTfulAPI服務(wù)。Nova-api服務(wù)模塊相當(dāng)于軟件定義架構(gòu)中的北向接口軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Nova計(jì)算服務(wù)組件3Nova創(chuàng)建虛擬機(jī)流程示例①用戶發(fā)起創(chuàng)建虛擬機(jī)程序指令,指令通過(guò)Nova-api服務(wù)組件被發(fā)送到消息隊(duì)列(如RabbitMQ)。軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Nova計(jì)算服務(wù)組件3Nova創(chuàng)建虛擬機(jī)流程示例②從消息隊(duì)列獲取創(chuàng)建指令,通過(guò)調(diào)度算法選擇一個(gè)計(jì)算節(jié)點(diǎn),然后向消息隊(duì)列發(fā)送一條“創(chuàng)建虛擬機(jī)”消息。軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Nova計(jì)算服務(wù)組件3Nova創(chuàng)建虛擬機(jī)流程示例③從消息隊(duì)列獲取“創(chuàng)建虛擬機(jī)”消息,調(diào)用相應(yīng)虛擬化接口創(chuàng)建虛擬機(jī)。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Heat服務(wù)組件3
Heat服務(wù)組件為OpenStack提供更加智能和高級(jí)的服務(wù)與資源編排功能。
注意:Heat服務(wù)組件通過(guò)Nova組件可以編排虛擬機(jī)資源,當(dāng)然也可通過(guò)Cinder和Neutron組件對(duì)存儲(chǔ)資源和網(wǎng)絡(luò)資源進(jìn)行編排調(diào)度。軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Heat服務(wù)組件3
Heat組件主要由Heat-api、Heat-engine和Heat-api-cloudwatch等功能模塊組成。主要負(fù)責(zé)任務(wù)調(diào)度和各種資源的生命周期管理等功能。注意:Heat只負(fù)責(zé)資源編排不會(huì)創(chuàng)建資源,資源創(chuàng)建由相應(yīng)組件處理軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Heat服務(wù)組件3
Heat組件主要由Heat-api、Heat-engine和Heat-api-cloudwatch等功能模塊組成。主要負(fù)責(zé)獲取運(yùn)行監(jiān)控?cái)?shù)據(jù)。軟件定義計(jì)算技術(shù)——OpenStack虛擬機(jī)編排技術(shù)——Heat服務(wù)組件3
Heat組件主要由Heat-api、Heat-engine和Heat-api-cloudwatch等功能模塊組成。Heat服務(wù)組件訪問(wèn)的接口,接收RESTAPI請(qǐng)求,并把請(qǐng)求發(fā)送到Heat-engine。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)3(1)OpenStack虛擬機(jī)編排技術(shù)(2)K8s容器編排技術(shù)二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)3
目前在容器編排領(lǐng)域中,ApacheMesos、DockerSwarm和Kubernetes是Docker最主流的三個(gè)容器編排系統(tǒng)。
Kubernetes(k8s)是Google2014年開源的一個(gè)可擴(kuò)展、可移植的容器編排引擎,提供容器應(yīng)用實(shí)例的自動(dòng)部署、復(fù)制、重啟和伸縮拓展等功能。K8s系統(tǒng)組成架構(gòu)Master節(jié)點(diǎn):是K8s集群的控制節(jié)點(diǎn)。K8s系統(tǒng)組成架構(gòu)Worker節(jié)點(diǎn):是K8s集群的工作結(jié)點(diǎn)。K8s中創(chuàng)建、調(diào)度和管理資源的最小單位是Pod而不是Docker容器,通常一個(gè)Pod包含一個(gè)或多個(gè)容器。同一個(gè)Pod內(nèi)的容器運(yùn)行在同一個(gè)宿主機(jī)上且可共享資源,使用相同的網(wǎng)絡(luò)命名空間、IP地址和端口等。K8s系統(tǒng)組成架構(gòu)是K8s集群中各類資源操控的接口,采用的是RESTfulAPI接口模式,其相當(dāng)于軟件定義架構(gòu)中的北向接口,可供內(nèi)外部調(diào)用?;赮AML語(yǔ)言聲明性模板的Pod等資源定義與編排管理方法。基于Deployment的容器編排機(jī)制二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3
K8s集群中通常會(huì)部署大量、各種類型應(yīng)用的Pod對(duì)象實(shí)例,如何進(jìn)行Pod的高效運(yùn)維管理是K8s集群的重要工作之一。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3
為了提高Pod的運(yùn)維管理工作效率,K8s引入了基于Deployment的Pod管理機(jī)制。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3
基于Deployment的Pod管理機(jī)制,能夠?qū)⑾嗤瑧?yīng)用的一組Pod規(guī)劃到同一Deployment中,并且同組Pod具有一致的副本。軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3
Deployment控制器功能主要是通過(guò)ReplicaSet對(duì)Pod資源進(jìn)行運(yùn)維管理,為了性能或高可用性的考慮通常采用分布式應(yīng)用部署。Deployment控制器工作流程示例接收外部操控指令后,判定應(yīng)做什么處理。軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3
Deployment控制器功能主要是通過(guò)ReplicaSet對(duì)Pod資源進(jìn)行運(yùn)維管理,為了性能或高可用性的考慮通常采用分布式應(yīng)用部署。Deployment控制器工作流程示例如果Paused為true則進(jìn)行資源數(shù)量同步操作,即把期望Pod副本數(shù)量同步到ReplicaSet,然后進(jìn)行Updatestatus狀態(tài)更新操作,最后通過(guò)APIServer完成同步處理。軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3
Deployment控制器功能主要是通過(guò)ReplicaSet對(duì)Pod資源進(jìn)行運(yùn)維管理,為了性能或高可用性的考慮通常采用分布式應(yīng)用部署。Deployment控制器工作流程示例否則進(jìn)行Pod資源的Create/Update/Delete等操控處理。軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3
ReplicaSet是在Deployment控制下具體實(shí)施Pod資源副本管理的控制器,并且同一個(gè)Deployment控制器下可能有多個(gè)ReplicaSet控制器。ReplicaSet控制器工作流程示例從Deployment控制器獲取資源操控指令與管理策略,然后依據(jù)指令和策略實(shí)施資源管理。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3①Pod資源更新發(fā)布②Pod資源版本回滾二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3①Pod資源更新發(fā)布資源更新發(fā)布是資源管理的首要任務(wù),在K8s中Pod資源的更新發(fā)布支持重建更新(Recreate)和滾動(dòng)更新(RollingUpdate)等兩種更新模式。重建更新模式:在創(chuàng)建新版本Pod資源實(shí)例之前,會(huì)先殺掉所有現(xiàn)存的老版本Pod資源實(shí)例,因此無(wú)法保證業(yè)務(wù)服務(wù)的不中斷。滾動(dòng)更新模式:先殺死一部分老版本Pod資源實(shí)例,然后創(chuàng)建啟動(dòng)一部分新版本Pod資源實(shí)例,如此循環(huán)直至更新發(fā)布結(jié)束,能夠保證業(yè)務(wù)服務(wù)持續(xù)性。軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3①Pod資源更新發(fā)布二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3①Pod資源更新發(fā)布在滾動(dòng)更新模式有兩個(gè)重要配置參數(shù):MaxUnavailable:更新過(guò)程中最多有幾個(gè)Pod資源實(shí)例不可用;MaxSurge:更新過(guò)程中最多允許超過(guò)預(yù)期副本數(shù)量的Pod資源實(shí)例數(shù)。
參數(shù)值設(shè)置通常需要結(jié)合具體應(yīng)用場(chǎng)景。例如當(dāng)資源足夠且更注重發(fā)布過(guò)程中的可用性,則可設(shè)置MaxUnavailable較小、MaxSurge較大。軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3②Pod資源版本回滾
Pod資源版本回滾一般是因?yàn)榘l(fā)現(xiàn)當(dāng)前更新的應(yīng)用版本有問(wèn)題,所以需要進(jìn)行版本的回退。二、計(jì)算虛擬化與軟件定義計(jì)算軟件定義計(jì)算技術(shù)——K8s容器編排技術(shù)——基于Deployment容器編排機(jī)制3
為了便于對(duì)Deployment、ReplicaSet和Pod等對(duì)象資源實(shí)施管理,與OpenStack類似K8s也提供了一種基于YAML語(yǔ)言的資源定義與編排管理方法。mynginx-deployment.ymal文件源代碼
apiVersion:apps/v1#Deployment當(dāng)前所屬組是apps,版本是v1kind:Deployment#資源類型是Deploymentmetadata:#Deployment元數(shù)據(jù),作為一種K8s資源
#Deployment有自己的元信息name:mynginx-deployment#Deployment資源名字,元數(shù)據(jù)必須項(xiàng)namespace:nginx-sp#Deployment資源所屬命名空間labels:#Deployment資源標(biāo)簽app:mynginx
spec:#Deployment資源規(guī)格說(shuō)明replicas:3#期望Pod副本數(shù)量revisionHistoryLimit:3#保留ReplicaSet歷史版本數(shù)量,默認(rèn)為10paused:false#部署模式,默認(rèn)值是false,即允許更新部署progressDeadlineSeconds:600#部署超時(shí)時(shí)間(單位:秒),默認(rèn)是600strategy:#Pod更新策略,默認(rèn)是RollingUpdate更新策略type:RollingUpdate#配置更新策略為滾動(dòng)更新rollingUpdate:#配置RollingUpdate更新策略的更新參數(shù)maxSurge:25%#更新過(guò)程中期望Pod最大數(shù)量,可為百分比,也
#可為整數(shù),默認(rèn)是25%謝謝!軟件定義與網(wǎng)絡(luò)安全
第3單元:存儲(chǔ)虛擬化與軟件定義存儲(chǔ)三、存儲(chǔ)虛擬化與軟件定義存儲(chǔ)
1存儲(chǔ)虛擬化技術(shù)存儲(chǔ)虛擬化概述存儲(chǔ)虛擬化技術(shù)框架與實(shí)現(xiàn)方式分布式虛擬化存儲(chǔ)系統(tǒng):Ceph
2軟件定義存儲(chǔ)技術(shù)軟件定義存儲(chǔ)概述軟件定義存儲(chǔ)系統(tǒng)架構(gòu)與實(shí)現(xiàn)方式軟件定義存儲(chǔ)實(shí)例存儲(chǔ)虛擬化技術(shù)——存儲(chǔ)虛擬化概述1主機(jī)級(jí)存儲(chǔ)直連式附加存儲(chǔ)網(wǎng)絡(luò)存儲(chǔ)技術(shù)存儲(chǔ)虛擬化SV軟件定義存儲(chǔ)SDS網(wǎng)絡(luò)文件服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器磁盤、磁帶網(wǎng)絡(luò)附加存儲(chǔ)NAS、存儲(chǔ)區(qū)域網(wǎng)絡(luò)SAN網(wǎng)絡(luò)化性能、管理動(dòng)態(tài)、精確控制、自動(dòng)化容量、共享存儲(chǔ)虛擬化技術(shù)——存儲(chǔ)虛擬化概述1三、存儲(chǔ)虛擬化與軟件定義存儲(chǔ)
存儲(chǔ)虛擬化(SV:Stora
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年熱帶海洋環(huán)境與島礁生態(tài)全國(guó)重點(diǎn)實(shí)驗(yàn)室科研助理崗位招聘?jìng)淇碱}庫(kù)及參考答案詳解1套
- 2025年新疆遠(yuǎn)見鴻業(yè)物流有限公司招聘?jìng)淇碱}庫(kù)汽車修理廠出納帶答案詳解
- 武安市市場(chǎng)監(jiān)督管理局2025年公開招聘食品檢測(cè)專業(yè)技術(shù)人員的備考題庫(kù)及一套參考答案詳解
- 城銀清算服務(wù)有限責(zé)任公司2026年校園招聘16人備考題庫(kù)及一套答案詳解
- 2025年江蘇世紀(jì)新城投資控股集團(tuán)有限公司招聘?jìng)淇碱}庫(kù)及參考答案詳解一套
- 2025年榆林市國(guó)藥控股陜西有限公司招聘榆林醫(yī)藥代表的備考題庫(kù)帶答案詳解
- 2025年西寧市沈家寨中心衛(wèi)生院招聘?jìng)淇碱}庫(kù)完整答案詳解
- 管理學(xué)計(jì)算題試卷及答案
- 2025年霞浦縣福寧水務(wù)有限公司公開招聘企業(yè)自聘工作人員33人備考題庫(kù)及參考答案詳解
- 湖北省婦幼保健院2026年度招聘79人備考題庫(kù)及1套完整答案詳解
- 低碳飲食課件
- 前列腺癌癥課件
- 與認(rèn)知障礙老年人溝通
- 《成都市智能建造人工智能(AI)應(yīng)用指南(2025版)》
- GB/T 14975-2025結(jié)構(gòu)用不銹鋼無(wú)縫鋼管
- 2025首屆電力低空經(jīng)濟(jì)發(fā)展大會(huì):電力場(chǎng)景具身智能檢修機(jī)器人技術(shù)及應(yīng)用
- 冬季污水廠防凍知識(shí)培訓(xùn)
- 心理因素對(duì)創(chuàng)新行為的影響
- 脊髓損傷的膀胱護(hù)理
- 高校物業(yè)安全培訓(xùn)內(nèi)容課件
- (正式版)DB33∕T 1430-2025 《海塘安全監(jiān)測(cè)技術(shù)規(guī)程》
評(píng)論
0/150
提交評(píng)論