本公開涉及一種虛擬化的計(jì)算基礎(chǔ)設(shè)施,并且更具體地,涉及一種云本地網(wǎng)絡(luò)(cloud?native?networking)。
背景技術(shù):
1、在典型的云數(shù)據(jù)中心環(huán)境中,存在提供運(yùn)行各種應(yīng)用的計(jì)算和/或存儲(chǔ)能力的互連服務(wù)器的大型集合。例如,數(shù)據(jù)中心可以包括托管用戶(即,數(shù)據(jù)中心的客戶)的應(yīng)用和服務(wù)的設(shè)施。例如,數(shù)據(jù)中心可以托管全部的基礎(chǔ)設(shè)施設(shè)備,諸如聯(lián)網(wǎng)與存儲(chǔ)系統(tǒng)、冗余電源、以及環(huán)境控制。在典型的數(shù)據(jù)中心中,存儲(chǔ)系統(tǒng)與應(yīng)用服務(wù)器的集群經(jīng)由由一層或多層物理網(wǎng)絡(luò)交換機(jī)和路由器提供的高速交換結(jié)構(gòu)而互連。更精密的數(shù)據(jù)中心為遍布世界各地的基礎(chǔ)設(shè)施提供位于各種物理托管設(shè)施中的用戶支持設(shè)備。
2、虛擬化數(shù)據(jù)中心正變成現(xiàn)代信息技術(shù)(it)基礎(chǔ)設(shè)施的核心基礎(chǔ)。具體地,現(xiàn)代數(shù)據(jù)中心具有廣泛應(yīng)用的虛擬化環(huán)境,在該環(huán)境中,諸如虛擬機(jī)或容器的虛擬主機(jī),此處,也被稱為虛擬運(yùn)行元件,被部署在物理計(jì)算設(shè)備的底層計(jì)算平臺(tái)上并且在物理計(jì)算設(shè)備的底層計(jì)算平臺(tái)上運(yùn)行。
3、數(shù)據(jù)中心或包括一個(gè)或多個(gè)服務(wù)器的任意環(huán)境內(nèi)的虛擬化能夠提供若干優(yōu)點(diǎn)。一個(gè)優(yōu)點(diǎn)在于,虛擬化能夠提供顯著提高的效率。由于底層物理計(jì)算設(shè)備(即,服務(wù)器)隨著每個(gè)物理cpu具有大量?jī)?nèi)核的多核微處理器架構(gòu)的出現(xiàn)而變得日益強(qiáng)大,虛擬化變得更容易并且更高效。第二個(gè)優(yōu)點(diǎn)在于,虛擬化提供對(duì)計(jì)算基礎(chǔ)設(shè)施的有效控制。由于諸如基于云的計(jì)算環(huán)境中的物理計(jì)算資源變成可替代的資源,計(jì)算基礎(chǔ)設(shè)施的提供與管理變得更容易。由此,企業(yè)it員工通常除虛擬化所提供的效率和增加投資回報(bào)率(roi)之外,由于其管理優(yōu)勢(shì)而喜歡數(shù)據(jù)中心的虛擬化計(jì)算集群。
4、容器化是基于操作系統(tǒng)級(jí)虛擬化的虛擬化方案。容器是用于彼此隔離并且與主機(jī)隔離的應(yīng)用的輕量級(jí)與便攜式運(yùn)行元件。因?yàn)槿萜鞑⒉痪o密地耦接至主機(jī)硬件計(jì)算環(huán)境,所以應(yīng)用能夠被綁定至容器圖像并且作為單個(gè)輕量級(jí)包在支持底層容器架構(gòu)的任意主機(jī)或虛擬主機(jī)上運(yùn)行。因此,容器解決了如何使軟件在不同的計(jì)算環(huán)境中工作的問題。容器提供從一個(gè)計(jì)算環(huán)境到另一虛擬或物理環(huán)境的持續(xù)運(yùn)行的保證。
5、由于容器的固有輕量級(jí)性質(zhì),單個(gè)主機(jī)通常能夠支持比傳統(tǒng)虛擬機(jī)(vm)更多的容器實(shí)例。通常,能夠比vm更高效地創(chuàng)建并且移動(dòng)短壽命的容器,并且還能夠?qū)⑷萜髯鳛檫壿嬒嚓P(guān)元件的組進(jìn)行管理(對(duì)于一些編排平臺(tái),例如,kubernetes,有時(shí)稱為“容器池(pod)”)。這些容器特征影響對(duì)容器網(wǎng)絡(luò)方案的需求:網(wǎng)絡(luò)應(yīng)該是敏捷并且可擴(kuò)展的。在相同的計(jì)算環(huán)境中,vm、容器、以及裸金屬服務(wù)器可能需要共存,且能夠?qū)崿F(xiàn)多種部署的應(yīng)用之間的通信。容器網(wǎng)絡(luò)應(yīng)該還不知道與用于部署容器化應(yīng)用的多種類型的編排平臺(tái)一起工作。
6、管理用于應(yīng)用運(yùn)行的部署與基礎(chǔ)設(shè)施的計(jì)算基礎(chǔ)設(shè)施可能涉及兩個(gè)主要角色:(1)編排-用于使跨主機(jī)集群的應(yīng)用的部署、擴(kuò)展、以及操作自動(dòng)化并且提供計(jì)算基礎(chǔ)設(shè)施,計(jì)算基礎(chǔ)設(shè)施可以包括以容器為中心的計(jì)算基礎(chǔ)設(shè)施;和(2)網(wǎng)絡(luò)管理-用于在網(wǎng)絡(luò)基礎(chǔ)設(shè)施中創(chuàng)建虛擬網(wǎng)絡(luò),以實(shí)現(xiàn)在諸如容器或vm的虛擬運(yùn)行環(huán)境中運(yùn)行的應(yīng)用之間以及在遺留(例如,物理)環(huán)境中運(yùn)行的應(yīng)用之間的包化通信。軟件定義網(wǎng)絡(luò)有助于網(wǎng)絡(luò)管理。
技術(shù)實(shí)現(xiàn)思路
1、整體上,描述了用于生成并且驗(yàn)證連續(xù)部署的網(wǎng)絡(luò)策略的技術(shù)。在一些實(shí)施例中,策略控制器將網(wǎng)絡(luò)策略的自動(dòng)生成與配置數(shù)據(jù)的部署進(jìn)行集成,包括關(guān)于軟件定義網(wǎng)絡(luò)架構(gòu)的網(wǎng)絡(luò)策略。策略控制器可以確定被部署至sdn架構(gòu)的分布式應(yīng)用的預(yù)期流量模式,其中,數(shù)據(jù)平面并不對(duì)分布式應(yīng)用的工作負(fù)載之間的封包流應(yīng)用防火墻策略。基于這些流量模式,策略控制器能夠自動(dòng)生成數(shù)據(jù)平面可使用的網(wǎng)絡(luò)策略,以在拒絕其他流量模式時(shí)允許分布式應(yīng)用的預(yù)期流量模式。策略控制器可以將網(wǎng)絡(luò)策略作為配置數(shù)據(jù)提交至配置存儲(chǔ)庫,配置存儲(chǔ)庫促使部署系統(tǒng)將包括網(wǎng)絡(luò)策略的配置數(shù)據(jù)應(yīng)用于sdn架構(gòu)。在一些情況下,在存儲(chǔ)庫中將配置數(shù)據(jù)與應(yīng)用部署進(jìn)行集成,從而能夠?qū)崿F(xiàn)應(yīng)用工作負(fù)載和sdn架構(gòu)配置到計(jì)算基礎(chǔ)設(shè)施的一致性按鈕部署。
2、該技術(shù)可以提供實(shí)現(xiàn)至少一種實(shí)際應(yīng)用的一個(gè)或多個(gè)技術(shù)優(yōu)點(diǎn)。例如,該技術(shù)可以允許策略控制器和部署系統(tǒng)與sdn架構(gòu)系統(tǒng)一起提供集成策略生成和管理以及部署,以便于相對(duì)于sdn架構(gòu)的配置進(jìn)行連續(xù)部署和連續(xù)集成,以支持分布式應(yīng)用。如此,該技術(shù)可以補(bǔ)充用于應(yīng)用開發(fā)的現(xiàn)有devops(開發(fā)運(yùn)營(yíng))最佳實(shí)踐并且將其應(yīng)用于分布式應(yīng)用部署與配置的網(wǎng)絡(luò)策略自動(dòng)化。這可以減少對(duì)手動(dòng)策略確定和配置的需求并且針對(duì)可能具有上百個(gè)不同工作負(fù)載的更大應(yīng)用部署促進(jìn)更具擴(kuò)展性的基礎(chǔ)設(shè)施配置。通過與配置存儲(chǔ)庫進(jìn)行集成,該技術(shù)針對(duì)每個(gè)部署生成用于分布式應(yīng)用的相同sdn架構(gòu)環(huán)境。
3、在實(shí)施例中,策略控制器包括處理電路并且被配置為:從第一軟件定義網(wǎng)絡(luò)(sdn)架構(gòu)系統(tǒng)獲得關(guān)于在被部署至第一sdn架構(gòu)系統(tǒng)的分布式應(yīng)用的工作負(fù)載之間所交換的封包流的流元數(shù)據(jù);使用關(guān)于該封包流中的一封包流的流元數(shù)據(jù),識(shí)別該封包流的源端點(diǎn)工作負(fù)載和目的地端點(diǎn)工作負(fù)載;生成網(wǎng)絡(luò)策略規(guī)則,以允許封包流從該封包流的源端點(diǎn)工作負(fù)載到目的地端點(diǎn)工作負(fù)載;并且當(dāng)將分布式應(yīng)用部署至第二sdn架構(gòu)系統(tǒng)時(shí),將網(wǎng)絡(luò)策略規(guī)則作為第二sdn架構(gòu)系統(tǒng)的配置數(shù)據(jù)添加至配置存儲(chǔ)庫,以致使部署系統(tǒng)將第二sdn架構(gòu)系統(tǒng)配置成具有允許封包流從源端點(diǎn)工作負(fù)載到目的地端點(diǎn)工作負(fù)載的網(wǎng)絡(luò)策略規(guī)則。
4、在實(shí)施例中,方法包括:由策略控制器從第一軟件定義網(wǎng)絡(luò)(sdn)架構(gòu)系統(tǒng)獲得關(guān)于在被部署至第一sdn架構(gòu)系統(tǒng)的分布式應(yīng)用的工作負(fù)載之間所交換的封包流的流元數(shù)據(jù);由策略控制器使用關(guān)于該封包流中的一封包流的流元數(shù)據(jù),識(shí)別該封包流的源端點(diǎn)工作負(fù)載和目的地端點(diǎn)工作負(fù)載;由策略控制器生成網(wǎng)絡(luò)策略規(guī)則,以允許封包流從該封包流的源端點(diǎn)工作負(fù)載到目的地端點(diǎn)工作負(fù)載;并且當(dāng)將分布式應(yīng)用部署至第二sdn架構(gòu)系統(tǒng)時(shí),由策略控制器將網(wǎng)絡(luò)策略規(guī)則作為第二sdn架構(gòu)系統(tǒng)的配置數(shù)據(jù)添加至配置存儲(chǔ)庫,以致使部署系統(tǒng)將第二sdn架構(gòu)系統(tǒng)配置成具有允許封包流從源端點(diǎn)工作負(fù)載到目的地端點(diǎn)工作負(fù)載的網(wǎng)絡(luò)策略規(guī)則。
5、在實(shí)施例中,非易失性計(jì)算機(jī)可讀介質(zhì)包括指令,指令用于致使策略控制器的處理電路:從第一軟件定義網(wǎng)絡(luò)(sdn)架構(gòu)系統(tǒng)獲得關(guān)于在被部署至第一sdn架構(gòu)系統(tǒng)的分布式應(yīng)用的工作負(fù)載之間所交換的封包流的流元數(shù)據(jù);使用關(guān)于該封包流中的一封包流的流元數(shù)據(jù),識(shí)別該封包流的源端點(diǎn)工作負(fù)載和目的地端點(diǎn)工作負(fù)載;生成網(wǎng)絡(luò)策略規(guī)則,以允許封包流從該封包流的源端點(diǎn)工作負(fù)載到目的地端點(diǎn)工作負(fù)載;并且當(dāng)將分布式應(yīng)用部署至第二sdn架構(gòu)系統(tǒng)時(shí),將網(wǎng)絡(luò)策略規(guī)則作為第二sdn架構(gòu)系統(tǒng)的配置數(shù)據(jù)添加至配置存儲(chǔ)庫,以致使部署系統(tǒng)將第二sdn架構(gòu)系統(tǒng)配置成具有允許封包流從源端點(diǎn)工作負(fù)載到目的地端點(diǎn)工作負(fù)載的網(wǎng)絡(luò)策略規(guī)則。
6、在所附附圖及下面描述中對(duì)本公開的一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)進(jìn)行了闡述。在描述與附圖中、并且在權(quán)利要求中,其他特征、目標(biāo)、以及優(yōu)點(diǎn)將變得顯而易見。
1.一種網(wǎng)絡(luò)策略控制器,所述策略控制器包括處理電路并且被配置為:
2.根據(jù)權(quán)利要求1所述的策略控制器,其中,所述第一sdn架構(gòu)系統(tǒng)是所述第二sdn架構(gòu)系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的策略控制器,其中,所述配置存儲(chǔ)庫存儲(chǔ)關(guān)于所述分布式應(yīng)用的所述工作負(fù)載。
4.根據(jù)權(quán)利要求1所述的策略控制器,其中,所述策略控制器被配置為:
5.根據(jù)權(quán)利要求4所述的策略控制器,其中,所述策略控制器被配置為:
6.根據(jù)權(quán)利要求4所述的策略控制器,其中,所述策略控制器被配置為:
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的策略控制器,
8.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的策略控制器,其中,所述策略控制器被配置為:
9.根據(jù)權(quán)利要求8所述的策略控制器,其中,所述測(cè)試參數(shù)包括應(yīng)用標(biāo)識(shí)符、時(shí)間范圍、角色、站點(diǎn)、或應(yīng)用層。
10.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的策略控制器,其中,所述第二sdn架構(gòu)系統(tǒng)包括網(wǎng)絡(luò)控制器,所述網(wǎng)絡(luò)控制器包括用于配置所述第二sdn架構(gòu)系統(tǒng)的配置節(jié)點(diǎn),通過包括所述第二sdn架構(gòu)系統(tǒng)的計(jì)算節(jié)點(diǎn)的集群,實(shí)現(xiàn)所述網(wǎng)絡(luò)控制器。