邊緣云原生虛擬化研究報(bào)告 2024_第1頁(yè)
邊緣云原生虛擬化研究報(bào)告 2024_第2頁(yè)
邊緣云原生虛擬化研究報(bào)告 2024_第3頁(yè)
邊緣云原生虛擬化研究報(bào)告 2024_第4頁(yè)
邊緣云原生虛擬化研究報(bào)告 2024_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

I2024年1月可信邊緣計(jì)算推進(jìn)計(jì)劃II前言 III1技術(shù)與需求概述 11.1虛擬機(jī)和容器 1 1.3融合管理的演進(jìn):K8s環(huán)境下運(yùn)行虛擬機(jī) 31.4開(kāi)源項(xiàng)目簡(jiǎn)介 42技術(shù)實(shí)踐 92.1生命周期管理 92.2鏡像管理 2.3存儲(chǔ)管理 2.4網(wǎng)絡(luò)能力 III參與單位(排名不分先后中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司研究院,中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司智網(wǎng)創(chuàng)新中心、可信邊緣計(jì)算推進(jìn)計(jì)劃編寫(xiě)人:黃蓉龐博黃倩陳丹肖羽蔡超侯迎龍隗英英高沛李曉旭隋佳良王蘊(yùn)婷李昂11技術(shù)與需求概述隨著網(wǎng)絡(luò)技術(shù)和云技術(shù)的發(fā)展,邊緣計(jì)算得到了廣泛的應(yīng)用。邊緣計(jì)算可以解決高可靠低延遲的設(shè)備接入和海量數(shù)據(jù)的實(shí)時(shí)計(jì)算問(wèn)題,云技術(shù)有力的保障和推動(dòng)了邊緣計(jì)算的應(yīng)用。1.1虛擬機(jī)和容器虛擬機(jī)和容器是云計(jì)算中最常用到的應(yīng)用部署和運(yùn)行方式。虛擬機(jī)是伴隨著虛擬化的技術(shù)出現(xiàn)的,容器則云原生技術(shù)的典型特征之一,他們的架構(gòu)對(duì)比如下圖所示:圖1:虛擬機(jī)與容器架構(gòu)對(duì)比圖如上圖所示,虛擬化技術(shù)一般通過(guò)虛擬化層(hypervisor)來(lái)實(shí)現(xiàn),通過(guò)虛擬化技術(shù),虛擬機(jī)可以共享物理機(jī)的CPU、內(nèi)存、IO等硬件資源,并在邏輯上實(shí)現(xiàn)相互隔離。每一個(gè)虛擬機(jī)都擁有獨(dú)立的操作系統(tǒng)(客戶(hù)機(jī)操作系統(tǒng)所以虛擬機(jī)不依賴(lài)于宿主機(jī)操作系統(tǒng),其安全性和隔離性更強(qiáng)。但是虛擬機(jī)占用的資源較多,而且由于要模擬硬件,虛擬化層本身也會(huì)占用部分資源,對(duì)宿主機(jī)性能有一定的消耗。比較而言,容器則是使用宿主機(jī)的內(nèi)核系統(tǒng)加上自身的文件系統(tǒng)。運(yùn)行容器時(shí)是在使用宿主機(jī)的內(nèi)核情況下加載文件系統(tǒng),一般可以將容器看作是在內(nèi)核上運(yùn)行的獨(dú)立進(jìn)程。而精簡(jiǎn)的文件系統(tǒng)可以小到100MB以?xún)?nèi),因此容器比虛擬機(jī)占用資源的更少、啟動(dòng)速度更快。容器缺點(diǎn)是隔離性不如虛擬機(jī),而且由于依賴(lài)宿主機(jī)內(nèi)核,所以容器的操作系統(tǒng)選擇一般會(huì)受到限制。兩種技術(shù)的特點(diǎn)對(duì)比如下表:表1:虛擬機(jī)與容器技術(shù)特點(diǎn)對(duì)比無(wú)小的典型開(kāi)源項(xiàng)目。OpenStack是開(kāi)源的云計(jì)算平臺(tái),利用虛擬化技術(shù)和底層存儲(chǔ)服務(wù),提供了可擴(kuò)展、靈活、適應(yīng)性2強(qiáng)的云計(jì)算服務(wù)。OpenStack的服務(wù)分為核心功能和非核等。OpenStack的各個(gè)組件(服務(wù))之間使用標(biāo)準(zhǔn)的API接口調(diào)用,減少了服務(wù)之間的依賴(lài)。的設(shè)備環(huán)境通常被成為Kubernetes集群。Kubernetes集群邏輯上可以分為兩個(gè)部分:控制平面與接口)、CRI(容器運(yùn)行時(shí)接口)、CSI(容器存儲(chǔ)接口)等接口和CRD(用戶(hù)自定義資源)等,便于實(shí)現(xiàn)功能的擴(kuò)展。3OpenStack的設(shè)計(jì)比較全面,組件眾多,部署相對(duì)復(fù)雜,難于運(yùn)維,使用成本較高,更適合作為大規(guī)模云的管理系統(tǒng)。相對(duì)而言,Kubernetes的設(shè)計(jì)更加簡(jiǎn)潔,其核心組件少,便于運(yùn)維,同時(shí)K8s的生態(tài)很龐大,可以很方便地對(duì)其進(jìn)行擴(kuò)展或者定制,更適用于資源受限的邊緣環(huán)境。1.3融合管理的演進(jìn):K8s環(huán)境下運(yùn)行虛擬機(jī)當(dāng)前,通過(guò)容器部署的應(yīng)用越來(lái)越廣泛。但是,通過(guò)虛擬機(jī)部署的應(yīng)用也會(huì)存在相當(dāng)長(zhǎng)的時(shí)間。首先,有不少現(xiàn)存的應(yīng)用程序是運(yùn)行在虛擬機(jī)上的,其中一些程序無(wú)法輕松地進(jìn)行容器化重構(gòu)。其次,即便對(duì)程序進(jìn)行容器化改造,之后的系統(tǒng)調(diào)試和問(wèn)題定位又會(huì)帶來(lái)很大的挑戰(zhàn),尤其是對(duì)于通信行業(yè)來(lái)說(shuō),多代通信設(shè)備并存,對(duì)設(shè)備和應(yīng)用程序的穩(wěn)定性要求又非常高,對(duì)原有的應(yīng)用程序進(jìn)行容器化改造的成本和風(fēng)險(xiǎn)都是較大的。最后,一些應(yīng)用或者場(chǎng)景更加適合使用虛擬機(jī)來(lái)進(jìn)行部署。比如下面這些場(chǎng)景更適合使用虛擬機(jī)來(lái)運(yùn)行而不是容器:機(jī)會(huì)比使用容器更方便,因?yàn)槿萜髟诮尤攵嗑W(wǎng)卡方面比起虛擬機(jī)的能力來(lái)說(shuō)還有一定的差距;*大模型的研發(fā)測(cè)試:大模型在研發(fā)測(cè)試階段進(jìn)場(chǎng)需要使用多張GPU協(xié)同配合,同時(shí)要安裝很多多軟件依賴(lài)包來(lái)進(jìn)行調(diào)試和使用,這時(shí)直接將多張GPU掛載到一個(gè)虛擬機(jī)里,然后在虛擬機(jī)里來(lái)實(shí)驗(yàn)開(kāi)發(fā)要比在容器里方便很多;*數(shù)據(jù)庫(kù):不是所有的數(shù)據(jù)庫(kù)都適合放在容器里運(yùn)行,比如部分?jǐn)?shù)據(jù)庫(kù)的特定算法需要限制IP的變化,在虛擬機(jī)里部署可以有一個(gè)固定的IP,會(huì)更加方便;4*很多進(jìn)程的應(yīng)用:在容器使用上,有個(gè)核心概念就是部署任務(wù)單一的進(jìn)程,比如一個(gè)簡(jiǎn)單的api服務(wù)進(jìn)程加一個(gè)日志收集的進(jìn)程組合成為了一個(gè)容器,有些多進(jìn)程的應(yīng)用就不適合放在容器中運(yùn)行了。于是,隨著時(shí)間推移,企業(yè)會(huì)遇到這樣的情況,有些應(yīng)用還是只能運(yùn)行在虛擬機(jī)上,有些應(yīng)用已經(jīng)完成了容器化,企業(yè)管理員不得不同時(shí)運(yùn)維管理多套平臺(tái),這大大增加了運(yùn)維的難度:*計(jì)算資源:從管理角度來(lái)說(shuō)計(jì)算資源的管理不同的平臺(tái)的管理方法也是截然不同的,比如才能完全很好的管理起來(lái);*網(wǎng)絡(luò)資源:同樣,對(duì)于網(wǎng)絡(luò)管理來(lái)說(shuō),不同的平臺(tái)也是完全不同的,K8s使用CNI來(lái)管理網(wǎng)絡(luò),同時(shí)OpenStack通過(guò)neutron來(lái)管理網(wǎng)絡(luò),他們的使用理念上也是截然不同的,這樣很大程度上增加了學(xué)習(xí)成本;*監(jiān)控/日志:各種平臺(tái)都有自己的完整的監(jiān)控/日志收集系統(tǒng),它們會(huì)占用大量的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源,同時(shí)部署這樣2套平臺(tái),從資源使用的角度上來(lái)說(shuō)也是一種很大的浪費(fèi);*存儲(chǔ)資源:相同的存儲(chǔ)資源對(duì)接K8s和OpenStack方式都是截然不同的,出現(xiàn)問(wèn)題后找根因的思路和角度也都是不一樣的,這樣也大大加大了運(yùn)維的成本和難度。*安全風(fēng)險(xiǎn):軟件是由不同工程師編寫(xiě)的代碼,運(yùn)行在不同的操作系統(tǒng)上,每個(gè)環(huán)境都會(huì)遇到安全漏洞,越多組件則面臨更多的安全漏洞,同時(shí)運(yùn)維2套平臺(tái)就意味著面臨安全漏洞也會(huì)更多,企業(yè)面臨的安全風(fēng)險(xiǎn)也就更大。從各個(gè)方面來(lái)看,企業(yè)內(nèi)部的虛擬機(jī)平臺(tái)和容器平臺(tái)合并成為同一套平臺(tái)來(lái)進(jìn)行管理是一個(gè)趨勢(shì)。業(yè)內(nèi)也在研究虛擬機(jī)和容器的共平臺(tái)的部署和管理,從OpenStack和K8s各自的發(fā)展來(lái)看,兩個(gè)平臺(tái)管理,并通過(guò)集成OpenStack的其他服務(wù),為用戶(hù)呈現(xiàn)統(tǒng)一的、簡(jiǎn)化的API接口,用戶(hù)可以通過(guò)這些接口來(lái)創(chuàng)建、管理容器;K8s也有多個(gè)相關(guān)的開(kāi)源項(xiàng)目在研究如何實(shí)現(xiàn)對(duì)虛擬機(jī)的管理(見(jiàn)下文)。從云技術(shù)的現(xiàn)狀和發(fā)展來(lái)看,容器的應(yīng)用越來(lái)越廣泛,而且K8s在容器編排領(lǐng)域成為了業(yè)內(nèi)事實(shí)上的標(biāo)準(zhǔn)。在邊緣環(huán)境下,K8s的適用范圍也更加廣泛,因此,本文將進(jìn)一步探討在K8s環(huán)境下運(yùn)行虛擬機(jī)的技術(shù)和實(shí)踐范例。1.4開(kāi)源項(xiàng)目簡(jiǎn)介本節(jié)介紹在K8s環(huán)境下運(yùn)行虛擬機(jī)的相關(guān)開(kāi)源項(xiàng)目。當(dāng)前這些項(xiàng)目還在發(fā)展之中,功能還在不斷地迭代和完善。插件可以在K8s平臺(tái)上調(diào)度傳統(tǒng)的虛擬機(jī)。KubeVirt使用自定義資源(CRD)將VM管理接口接入到K8s中,通過(guò)一個(gè)Pod去使用libvirtd管理VM的方式,實(shí)現(xiàn)Pod與VM的一一對(duì)應(yīng),做到如同容器一般去管理虛擬機(jī),并且做到與容器一樣的資源管理、調(diào)度規(guī)劃。KubeVirt的架構(gòu)圖如下。5KubeVirt主要由下列五個(gè)部分組成:與K8s的api-server通訊監(jiān)控VMI資源的創(chuàng)建刪除等狀態(tài)。例狀態(tài)變化,一旦檢測(cè)到狀態(tài)的變化,會(huì)進(jìn)行響應(yīng)并且確保相應(yīng)的操作能夠達(dá)到所需(理想)的狀態(tài)。調(diào)用以節(jié)點(diǎn)為中心的插件以滿(mǎn)足VMISpec定義的網(wǎng)絡(luò)和存儲(chǔ)要求。啟動(dòng)VMI,隨著Pod的生命周期結(jié)束,virt-lanuncher也會(huì)去通知VMI去執(zhí)行終止操作;其次在每個(gè)虛擬機(jī)架構(gòu)那樣一個(gè)libvirtd去管理多個(gè)VM。KubeVirt利用CRD的功能定義了若干種資源對(duì)象。VirtualMachineInstance對(duì)象即表示一臺(tái)正在運(yùn)行的虛擬機(jī)實(shí)例,包含一個(gè)虛擬機(jī)所需要的各種配置。擬機(jī),確保虛擬機(jī)實(shí)例的啟動(dòng)狀態(tài),與虛擬機(jī)實(shí)例是1:1的關(guān)系,類(lèi)似與spec.replica為1的但要求提供的存儲(chǔ)支持RWX讀寫(xiě)模式。KubeVirt虛擬機(jī)生命周期管理主要分為以下幾種狀態(tài):6拷貝至目標(biāo)調(diào)度主機(jī),通過(guò)調(diào)度、IP分配后生成VMI以及管理VM的LauncherPod從而啟動(dòng)供業(yè)務(wù)使用的2.虛擬機(jī)運(yùn)行:運(yùn)行狀態(tài)下的VM可以進(jìn)行控制臺(tái)管理、快照備份/恢復(fù)、熱遷移、磁盤(pán)熱掛載/熱刪除等操作,此外還可以進(jìn)行重啟、下電操作,提高VM安全的同時(shí)解決業(yè)務(wù)存儲(chǔ)空間需求和主機(jī)異常Hung等問(wèn)題。3.虛擬機(jī)關(guān)機(jī):關(guān)機(jī)狀態(tài)下的VM可以進(jìn)行快照備份/恢復(fù)、冷遷移、CPU/MEM規(guī)格變更、重命名以及磁盤(pán)掛載等操作,同時(shí)可通過(guò)重新啟動(dòng)進(jìn)入運(yùn)行狀態(tài),也可刪除進(jìn)行資源回收。4.虛擬機(jī)刪除:對(duì)虛機(jī)資源進(jìn)行回收,但VM所屬的磁盤(pán)數(shù)據(jù)仍將保留、具備恢復(fù)條件。5社區(qū)由運(yùn)行時(shí)可以構(gòu)建無(wú)縫插入容器生態(tài)系統(tǒng)的輕量級(jí)虛擬機(jī),通過(guò)輕量級(jí)虛擬機(jī)來(lái)構(gòu)建安全的容器,這些虛擬機(jī)的運(yùn)行方式和性能類(lèi)似于容器,但是使用硬件虛擬化技術(shù)作為第二程防御層,可以提供更強(qiáng)的工作負(fù)載隔離。安全:在專(zhuān)用的內(nèi)核中運(yùn)行,提供網(wǎng)絡(luò),I/O和內(nèi)存的隔離,并可以通過(guò)虛擬化擴(kuò)展利用硬件強(qiáng)制隔離。性能:提供與標(biāo)準(zhǔn)Liunx容器一致的性能。簡(jiǎn)單:易于集成和使用。kata-agent:在虛擬機(jī)內(nèi)kata-agent作為一個(gè)daemon進(jìn)程運(yùn)行,并拉起一個(gè)或多個(gè)容器的進(jìn)程。相關(guān)的IO流都需要通過(guò)QEMU在宿主機(jī)暴露的virtio-serial或vsock接口,當(dāng)使用VIRTIO的情況下,每個(gè)虛7示。Kube-OVN6是一款CNCF旗下的企業(yè)級(jí)云原生網(wǎng)絡(luò)編排系統(tǒng),將SDN的能力和云原生結(jié)合,提供豐富的功能,極致的性能以及良好的可運(yùn)維性。Kube-OVN可提供跨云網(wǎng)絡(luò)管理、傳統(tǒng)網(wǎng)絡(luò)架構(gòu)與基礎(chǔ)設(shè)施的互聯(lián)互通、邊緣集群落地等復(fù)雜應(yīng)用場(chǎng)景的能力支持,解除Kubernetes網(wǎng)絡(luò)面臨的性能和安全監(jiān)控的穩(wěn)定性和易用性。已經(jīng)發(fā)展了很多年,很多設(shè)計(jì)和概念也基本成了SDN的標(biāo)準(zhǔn)。Kube-OVN通過(guò)引入高級(jí)功能和成熟的網(wǎng)絡(luò)概念,從整體上增強(qiáng)Kubernetes網(wǎng)絡(luò)的能力,并通過(guò)OVN實(shí)現(xiàn)網(wǎng)絡(luò)的數(shù)據(jù)平面,簡(jiǎn)化維護(hù)工作。Kube-OVN的組件可以大致分為三類(lèi):?監(jiān)控,運(yùn)維工具和擴(kuò)展組件。8該類(lèi)型組件來(lái)自O(shè)VN/OVS社區(qū),并針對(duì)K成熟的管理虛機(jī)和容器的SDN系統(tǒng)。Kube-OVN使用OVN的北向接口創(chuàng)建和調(diào)整虛擬網(wǎng)絡(luò),并將其中的ovn-nb進(jìn)行交互配置虛擬網(wǎng)絡(luò)。?ovn-sb:保存從ovn-nb的邏輯網(wǎng)絡(luò)生成的邏輯流表,以及各個(gè)節(jié)點(diǎn)的實(shí)際物理網(wǎng)絡(luò)狀態(tài)。該部分為Kube-OVN的核心組件,作為OVN和Kubernetes之間的一個(gè)橋梁,將兩個(gè)系統(tǒng)打通并將網(wǎng)絡(luò)概念進(jìn)行相互轉(zhuǎn)換。其作用相當(dāng)于整個(gè)Kube-OVN系統(tǒng)的控制平面。kube-ovn-controller監(jiān)聽(tīng)了所有和網(wǎng)絡(luò)功能相關(guān)資源的單機(jī)網(wǎng)絡(luò)。kube-ovn-cni會(huì)配置具體的網(wǎng)絡(luò)來(lái)執(zhí)行相應(yīng)流量操作。監(jiān)控,運(yùn)維工具和擴(kuò)展組件該部分組件主要提供監(jiān)控,診斷,運(yùn)維操作以及和外部進(jìn)行對(duì)接,對(duì)Kube-OVN的核心網(wǎng)絡(luò)能力進(jìn)行擴(kuò)展,并簡(jiǎn)化日常運(yùn)維操作。使得外部可以直接通過(guò)PodIP訪問(wèn)容器。9網(wǎng)絡(luò)延遲等信息,收集的監(jiān)控指標(biāo)可參考Kube-OVN監(jiān)控指標(biāo)。2技術(shù)實(shí)踐本章通過(guò)一些典型地范例介紹對(duì)于在K8s環(huán)境下運(yùn)行虛擬機(jī)的功能增強(qiáng)的技術(shù)實(shí)踐。2.1生命周期管理2.1.1在K8s環(huán)境下實(shí)現(xiàn)虛擬機(jī)熱調(diào)整資源需要感知Pod里是一個(gè)虛擬機(jī)還是一個(gè)容器,都按照統(tǒng)一的方式進(jìn)行管理。既然虛擬機(jī)運(yùn)行在了K8s平臺(tái)上,那么我們管理虛擬有可以通過(guò)kubectl進(jìn)行管理。創(chuàng)建虛擬機(jī)更新虛擬機(jī)件。刪除虛擬機(jī)虛擬機(jī)熱調(diào)整資源由于K8s最近的版本已經(jīng)支持Pod原地?cái)U(kuò)容了,可以利用了這個(gè)功能,實(shí)現(xiàn)kubevirt的虛擬機(jī)的cpu和*社區(qū)的熱擴(kuò)容的實(shí)現(xiàn):社區(qū)目前之實(shí)現(xiàn)了通過(guò)了livemigration(熱遷移)功能來(lái)實(shí)現(xiàn)的,這樣的實(shí)現(xiàn)依賴(lài)虛擬機(jī)是否可以進(jìn)行熱遷移,比如虛擬機(jī)如果有g(shù)pu掛載的話,就不能實(shí)現(xiàn)熱遷移,也就不能熱擴(kuò)容。圖8:社區(qū)版熱擴(kuò)容*改進(jìn)的實(shí)現(xiàn):首先使用了1.27.x版本的特性Pod原地?cái)U(kuò)容的特性(Podin-placeVPA)先將外部的圖9:改進(jìn)版虛擬機(jī)熱擴(kuò)容2.2鏡像管理在容器云平臺(tái)啟動(dòng)虛擬機(jī),那么虛擬機(jī)鏡像最好是能和容器鏡像一起管理,避免增加不必要的管理成本,所以可以將制作好的虛擬機(jī)鏡像偽裝成為了一個(gè)容器鏡像存放在Harbor中,這樣就不用單獨(dú)管理虛擬機(jī)的鏡像了。日志審核、管理界面、自我注冊(cè)、鏡像復(fù)制和中文支持等功能。創(chuàng)建成功,EVM可正常訪問(wèn)。2.3存儲(chǔ)管理本項(xiàng)優(yōu)化是為了提高使用Kata作為容器運(yùn)行時(shí)提高Cephrbd作為磁盤(pán)時(shí)的IO性能。原有掛載是儲(chǔ)存卷(RBDimage)掛載到宿主機(jī)的目錄中,然后通過(guò)virtio-fs協(xié)議,將存儲(chǔ)卷的內(nèi)容可以添加卷直通功能,分為半直通(塊直通)和全直通(rbd直通)兩個(gè)模式。其中半直通如下圖所示,去掉了中間的協(xié)議virtio-fs,將映射到宿主機(jī)上面的塊設(shè)備通過(guò)qmp命令直全直通如下圖所示,進(jìn)?步的去掉了掛載到宿主機(jī)上面的動(dòng)作,將rbdimage直接通過(guò)qmp指令作為3.在字段的值不為上述兩個(gè)或者不添加該字段時(shí)為原有模式。直通模式,通過(guò)kubectlexec-itcentos-blk-test--半直通模式,創(chuàng)建Pod之前通過(guò)lsblk查看host的塊設(shè)備信息,如果為半直通則創(chuàng)建完P(guān)od之后host會(huì)多出來(lái)一個(gè)rbd的塊設(shè)備本項(xiàng)優(yōu)化是為了提高使用Kata作為容器運(yùn)行時(shí)提高OpenEBS作為磁盤(pán)時(shí)的IO性能。OpenEBS8是一種開(kāi)源云原生存儲(chǔ)解決方案,托管于CNCF基金會(huì)。OpenEBS是K8s本地超融合存儲(chǔ)解決方案,它管理節(jié)點(diǎn)可用的本地存儲(chǔ),并為有狀態(tài)工作負(fù)載提供本地或高可用的分布式持久卷。OpenEBS修改方案依賴(lài)PVCannotations實(shí)現(xiàn)是否為直通卷的判斷,在CSI中針對(duì)上述四項(xiàng)功能分別對(duì)kata進(jìn)行適配:c.如果未掛載則先對(duì)塊設(shè)備進(jìn)行格式化(OpenEBS通過(guò)調(diào)用K8s的庫(kù)實(shí)現(xiàn)格式化并掛載publishVolume階段可以獲取到,其他階段無(wú)法獲取并在文件中寫(xiě)入掛載狀態(tài);b.如果為直通卷則在使用lvextend對(duì)文件系統(tǒng)進(jìn)行擴(kuò)容;2.4網(wǎng)絡(luò)能力DPDK是X86平臺(tái)報(bào)文快速處理的庫(kù)和驅(qū)動(dòng)的集合,不是網(wǎng)絡(luò)協(xié)議棧,不提供二層,三層轉(zhuǎn)發(fā)功能,不具備防火墻ACL功能,但通過(guò)DPDK可以輕松的開(kāi)發(fā)出上述功能。DPDK的優(yōu)勢(shì)在于,可以將用戶(hù)態(tài)的數(shù)據(jù),不經(jīng)過(guò)內(nèi)核直接轉(zhuǎn)發(fā)到網(wǎng)卡,實(shí)現(xiàn)加速目的。DPDK加速的OVS與原始OVS的區(qū)別在于,從OVS社區(qū)方案里,虛擬機(jī)/容器不能利用DPDK技術(shù)來(lái)提高網(wǎng)絡(luò)的流量,本節(jié)描述的解決方案中加入使用DPDK技術(shù)來(lái)讓虛擬機(jī)網(wǎng)絡(luò)包可以直接通過(guò)userspace來(lái)交互通訊,大大提高的了可以處理的網(wǎng)絡(luò)流量。DPDK加速的OVS數(shù)據(jù)流轉(zhuǎn)發(fā)的大致流程如下:1.OVS的ovs-vswitchd接收到從OVS連接的某個(gè)網(wǎng)絡(luò)端口發(fā)來(lái)的數(shù)據(jù)包2.OVS在用戶(hù)態(tài)查看精確流表和模糊流表,如果命中,則直接轉(zhuǎn)發(fā)。4.控制器下發(fā)新的流表,該數(shù)據(jù)包重新發(fā)起選路、匹配和報(bào)文轉(zhuǎn)發(fā)??偨Y(jié):主要區(qū)別在于流表的處理,普通OVS流表轉(zhuǎn)發(fā)在內(nèi)核態(tài),而OVS-DPDK流表轉(zhuǎn)發(fā)在用戶(hù)態(tài)。樣也為了提高虛擬機(jī)/容器的網(wǎng)絡(luò)性能,SRIOV技術(shù)可以將一張物理網(wǎng)卡變?yōu)槿舾蓚€(gè)虛擬的物理網(wǎng)卡,并直接接入虛擬機(jī)/容器從而提高網(wǎng)絡(luò)性能。內(nèi)核編譯Container中,不能通過(guò)啟動(dòng)時(shí)加載驅(qū)動(dòng)模塊,所以需要在編譯kernel時(shí)將需要的驅(qū)動(dòng)模塊通過(guò)配置編譯到內(nèi)核文件中。Kata提供編譯腳本和內(nèi)核配置模板,可以修改配置文件或者通進(jìn)行修改。因?yàn)槟K間的依賴(lài)和互斥關(guān)系相當(dāng)復(fù)雜,建議通過(guò)makemenuconfig啟動(dòng)圖形界面來(lái)開(kāi)啟下列模塊:Mellanox驅(qū)動(dòng)安裝需要依賴(lài)kernel-header模塊,所以需要提前準(zhǔn)備和鏡像制作系統(tǒng)相同內(nèi)核的在第一步的內(nèi)核文件夾使用下列命令可以生成.deb的包。#安裝編譯需要的軟件和庫(kù)#運(yùn)行DPDK相關(guān)應(yīng)用2.4.3開(kāi)啟IPv4v6雙棧功能開(kāi)啟雙??梢宰孠8s平臺(tái)上的虛擬機(jī)/容器能夠同時(shí)支持ipv4/ipv6(可選)雙協(xié)議棧。虛擬機(jī)開(kāi)啟K8s啟用雙棧要啟用IPv4v6雙協(xié)議棧,需要為集群的相關(guān)組件啟用IPv6DualStack特性,并且設(shè)置雙協(xié)議棧的集群在Kube-ovn的安裝腳本中打開(kāi)對(duì)IPv4v6雙棧的支持。正常指定?網(wǎng)啟動(dòng)Pod。Pod可以正常獲取IPv4和IPv6地址,并且路由正常。OVN邏輯網(wǎng)關(guān)和邏輯路由配置正常。

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論