本發(fā)明涉及網(wǎng)絡(luò)功能虛擬化技術(shù),尤指一種基于虛擬化場景的實現(xiàn)虛擬化網(wǎng)元(vnf)部署的方法及裝置。
背景技術(shù):
在傳統(tǒng)電信市場,運營商為了應(yīng)對日益增長的業(yè)務(wù)需要,往往需要增加很多硬件設(shè)備,而這些硬件設(shè)備很多是分屬不同的廠家的,這些廠家提供的軟件產(chǎn)品運行在不同的硬件設(shè)備、操作系統(tǒng)之上,部分甚至采用的是一些專有的硬件,在安裝部署的時候需要耗費大量的人力、財力來進行配置,且有時隨著軟件的升級更新,已有的設(shè)備無法進行利舊,新硬件的采購、部署、開通等都需要較長的時間。這樣,嚴重影響了新業(yè)務(wù)的開通,同時也會造成設(shè)備的浪費。
近年來,云計算、虛擬化技術(shù)發(fā)展迅速,憑借著安全可靠、成本低廉等優(yōu)勢,越來越多的運營商選擇使用虛擬化技術(shù)來降低企業(yè)的運行成本,提高設(shè)備利用率;并且隨著虛擬化標(biāo)準(zhǔn)的逐步成熟和完善,采用虛擬化網(wǎng)元(vnf)來替代傳統(tǒng)的網(wǎng)元設(shè)備也成為了可能。與傳統(tǒng)的網(wǎng)元設(shè)備類似,vnf因功能不同可能會有很多種類型,且在一個局點中可能會有成百上千個vnf實例,不同的vnf實例之間可能存在著相互依賴。而如何快速有效的實例化這些vnf,便成為了網(wǎng)元虛擬化首要解決的問題。
按照傳統(tǒng)技術(shù)在虛擬化場景上實例化vnf,主要分為vnf資源申請和vnf部署,其中,vnf資源申請大致包括:根據(jù)業(yè)務(wù)需求,上載對應(yīng)的vnf鏡像;根據(jù)vnf鏡像,在虛擬化環(huán)境中創(chuàng)建云主機,如果需要創(chuàng)建不同類型的云主機,重復(fù)根據(jù)vnf鏡像創(chuàng)建即可;vnf部署大致包括:分別遠程登錄到每一臺云主機,手動下載vnf相關(guān)的軟件包、修改相關(guān)的配置項和配置參數(shù)、執(zhí)行相關(guān)的配件腳本;待所有vnf實例化配置完成,根據(jù)vnf的依賴關(guān)系啟動vnf實例。
在上述傳統(tǒng)的vnf部署方面,手動方式一次僅可完成單臺或多臺同類型的vnf實例的部署,即使用相同的vnf鏡像創(chuàng)建的云主機的部署;vnf實例化配置的相關(guān)參數(shù)都需要手動輸入和進行相關(guān)的配置,很容易出錯,對用戶的技能要求較高,而且,vnf的實例化配置,采用手工方式進行,當(dāng)需要對大量vnf進行實例化時,不利于工程的快速交付。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供一種實現(xiàn)vnf部署的方法及裝置,能夠簡單地實現(xiàn)對大量vnf的自動化部署。
為了達到本發(fā)明目的,本發(fā)明提供了一種實現(xiàn)虛擬化網(wǎng)元vnf部署的方法,包括:
預(yù)先建立vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系;
對于需要部署vnf實例的云主機,在其上安裝自動化部署代理并進行注冊;
根據(jù)預(yù)先建立的映射關(guān)系,對已部署好的云主機,將接收到的vnf部署命令轉(zhuǎn)換為自動化配置命令并執(zhí)行,以實現(xiàn)vnf部署。
可選地,所述安裝自動化部署代理并進行注冊包括:
通過ip地址或域名搜索可用的云主機;當(dāng)通過ssh通道,測試出搜索出的云主機可達且云主機的資源符合要求時,根據(jù)該云主機的操作系統(tǒng),通過ssh通道推送對應(yīng)的自動化配置工具代理agent版本。
可選地,當(dāng)測試出所述云主機不可達,或者所述云主機的資源不符合要求時,該方法還包括:丟棄屬于所述ip地址的云主機。
可選地,所述對已部署好的云主機,將接收到的vnf部署命令轉(zhuǎn)換為自動化配置命令并執(zhí)行,以實現(xiàn)vnf部署包括:
從所述已部署好的云主機中取出一臺云主機,根據(jù)接收到的vnf部署命令獲取vnf部署的相關(guān)參數(shù),查詢所述vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系,在判斷出當(dāng)前的vnf部署的相關(guān)參數(shù)中的vnf部署動作有對應(yīng)的自動化配置命令時,完成自動化配置命令的組裝并將組裝好的自 動化配置命令放入配置命令隊列,直至最后一臺云主機的自動化配置命令放入配置命令隊列;
從配置命令隊列中取出配置命令,并通知所述自動化配置工具代理agent執(zhí)行自動化配置命令,以完成所述vnf的部署。
可選地,在判斷出所述當(dāng)前的vnf部署動作沒有對應(yīng)的自動化配置命令時,該方法還包括:發(fā)送vnf部署失敗的消息。
可選地,所述預(yù)先建立vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系包括:
根據(jù)自動化配置工具的要求,完成vnf自動化部署腳本的編寫;對vnf服務(wù)角色模型進行設(shè)置并設(shè)置該動作與自動化配置命令的映射關(guān)系;
部署自動化配置工具服務(wù)server端,完成自動化配置工具自身的配置;掃描指定目錄下vnf服務(wù)角色模型和自動化配置命令之間的映射關(guān)系的文件;并將vnf自動化配置腳本上傳到自動化配置工具server端。
可選地,所述對vnf服務(wù)角色模型進行設(shè)置包括:
根據(jù)不同類型的vnf實例定義不同種類型的服務(wù);
同一種類型的vnf,根據(jù)其不同的應(yīng)用場景和部署需要定義不同的角色類型以及該角色實例所支持的動作。
可選地,所述角色實例所支持的動作包括安裝、和/或啟動、和/或停止、和/或升級。
本發(fā)明還提供了一種實現(xiàn)vnf部署的裝置,至少包括設(shè)置模塊、安裝注冊模塊,以及部署模塊;其中,
設(shè)置模塊,用于預(yù)先建立vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系;
安裝注冊模塊,用于對于需要部署vnf實例的云主機,在其上安裝自動化部署代理并進行注冊;
部署模塊,用于根據(jù)預(yù)先建立的映射關(guān)系,對已部署好的云主機,將接收到的vnf部署命令轉(zhuǎn)換為自動化配置命令并執(zhí)行,以實現(xiàn)vnf部署。
可選地,所述設(shè)置模塊具體用于:根據(jù)自動化配置工具的要求,完成vnf自動化部署腳本的編寫;對vnf服務(wù)角色模型進行設(shè)置并設(shè)置該動作與自動化配置命令的映射關(guān)系;部署自動化配置工具server端,完成自動化配置工具自身的配置;部署版本管理服務(wù)并啟動;掃描指定目錄下vnf服務(wù)角色模型和自動化配置命令之間的映射關(guān)系的文件;并將vnf自動化配置腳本上傳到自動化配置工具server端。
可選地,所述安裝注冊模塊具體用于:
通過ip地址或域名搜索可用的云主機;當(dāng)通過ssh通道,測試出搜索到的云主機可達且云主機的資源符合要求時,根據(jù)云主機操作系統(tǒng),通過ssh通道推送對應(yīng)的自動化配置工具agent版本到云主機。
可選地,所述安裝注冊模塊還用于,當(dāng)測試出所述云主機不可達,或者所述云主機的資源不符合要求時,丟棄屬于所述ip地址的云主機。
可選地,所述部署模塊具體用于:從所述已部署好的云主機中取出一臺云主機,根據(jù)接收到的vnf部署命令獲取vnf部署的相關(guān)參數(shù),查詢vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系,在判斷出當(dāng)前的vnf部署的相關(guān)參數(shù)中的vnf部署動作有對應(yīng)的自動化配置命令時,完成自動化配置命令的組裝并將組裝好的自動化配置命令放入配置命令隊列,直至最后一臺云主機的自動化配置命令放入配置命令隊列;
從配置命令隊列中取出配置命令,并通知所述自動化配置工具agent,執(zhí)行自動化配置命令,以完成所述vnf的部署。
可選地,所述部署模塊還用于:在判斷出當(dāng)前的vnf部署動作沒有對應(yīng)的自動化配置命令時,發(fā)送vnf部署失敗的消息。
可選地,所述裝置設(shè)置在vnf版本管理服務(wù)器中,或者單獨作為一個實體。
與現(xiàn)有技術(shù)相比,本申請技術(shù)方案包括預(yù)先建立vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系;對于需要部署vnf實例的云主機,在其上安裝自動化部署代理并進行注冊;根據(jù)預(yù)先建立的映射關(guān)系,對已部署好的云主機,將接收到的vnf部署命令轉(zhuǎn)換為自動化配置命令并執(zhí)行,以實現(xiàn)vnf 部署。本發(fā)明提供的技術(shù)方案通過預(yù)先設(shè)置的不同類型的vnf服務(wù)、角色、關(guān)系模型和實例化腳本與自動化配置命令的映射關(guān)系,并采用自動化配置工具的簡單操作,實現(xiàn)了大量vnf的自動化部署。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1為本發(fā)明實現(xiàn)vnf部署的方法的流程圖;
圖2為本發(fā)明云主機受控的流程示意圖;
圖3為本發(fā)明獲取并執(zhí)行自動化配置命令的流程示意圖;
圖4為本發(fā)明實現(xiàn)vnf部署的裝置的組成結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
圖1為本發(fā)明實現(xiàn)vnf部署的方法的流程圖,如圖1所示,包括:
步驟100:預(yù)先建立vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系。本步驟具體包括:
首先,根據(jù)自動化配置工具的要求,完成vnf自動化部署腳本的編寫;對vnf服務(wù)角色模型進行設(shè)置:根據(jù)不同類型的vnf實例定義不同種類型的服務(wù),同一種類型的vnf,根據(jù)其不同的應(yīng)用場景和部署需要定義不同的角色類型以及該角色實例所支持的動作(如安裝、和/或啟動、和/或停止、和/或升級等),并設(shè)置該動作與自動化配置命令的映射關(guān)系。
然后,部署自動化配置工具服務(wù)(server)端,完成自動化配置工具自身 的配置;掃描指定目錄下vnf服務(wù)角色模型和自動化配置命令之間的映射關(guān)系的文件;并將vnf自動化配置腳本上傳到自動化配置工具server端。其中,自動化配置工具是一種成熟的技術(shù),一般包括自動化配置server端和agent端,在這里只是借助這種工具完成vnf的自動化部署。
具體地,對vnf服務(wù)角色模型進行設(shè)置可以結(jié)合下面模型文件示例1及表1所示:
模型文件示例1
表1
具體地,vnf角色部署動作與自動化配置命令映射的設(shè)置可以結(jié)合下面模型文件示例2及表2所示,通過該映射關(guān)系,可以將vnf服務(wù)角色模型與自動化配置工具進行解耦,方便了以后的技術(shù)升級。
模型文件示例2
表2
步驟101:對于需要部署vnf實例的云主機,在其上安裝自動化部署代理并進行注冊。包括:根據(jù)ip段或者是域名來搜索可用的云主機;向需要部署vnf實例的云主機推送自動化配置工具代理(agent),完成自動化配置工具agent的安裝和注冊。
本步驟具體實現(xiàn)如圖2,圖2為本發(fā)明云主機受控的流程示意圖,包括:
步驟200:從ip地址段中計算出下一個有效的ip地址。本步驟也可以是通過域名來搜索可用的云主機。
本步驟中具體如何計算,或搜索屬于本領(lǐng)域技術(shù)人員的慣用技術(shù)手段,并不用于限定本發(fā)明的保護范圍,這里不再贅述。
步驟201:通過ssh通道,采用ping命令測試云主機是否可達。
其中,ssh為secureshell的縮寫,由ietf的網(wǎng)絡(luò)工作小組(networkworkinggroup)所制定。ssh為創(chuàng)建在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。
本步驟具體實現(xiàn)可以采用現(xiàn)有方式實現(xiàn),屬于本領(lǐng)域技術(shù)人員的公知技術(shù),并不用于限定本發(fā)明的保護范圍,這里不再贅述。
步驟202:如果云主機ssh連接失敗,則丟棄屬于該ip地址的云主機,返回步驟200;否則,進入步驟203。
步驟203:判斷當(dāng)前的云主機的資源是否符合要求,這里主要判斷端口資源、存儲資源等,比如:如果云主機的磁盤剩余空間不滿足安裝自動化配 置工具agent的要求,和/或自動化配置工具agent所使用的端口被占用,則不符合要求,則丟棄屬于該ip地址的云主機,返回步驟200;否則,比如:如果云主機的磁盤剩余空間滿足安裝自動化配置工具agent的要求,且自動化配置工具agent所使用的端口未被占用,則進入步驟204。
步驟204:根據(jù)云主機操作系統(tǒng),通過ssh通道推送對應(yīng)的自動化配置工具agent版本到云主機。
步驟205:云主機執(zhí)行自動化配置工具agent的安裝腳本,完成自動化配置工具agent的安裝和向自動化配置工具server注冊。
步驟102:根據(jù)預(yù)先建立的映射關(guān)系,對已部署好的云主機,將接收到的vnf部署命令轉(zhuǎn)換為自動化配置命令并執(zhí)行,以實現(xiàn)vnf部署。
其中,vnf部署命令來源于用戶發(fā)起的vnf自動化部署操作時傳下來的參數(shù),具體的參數(shù)可如表1所示,這里不再贅述。
可見,本發(fā)明方法中,用戶在發(fā)起的自動化部署操作后,主要分為兩大步驟,第一部分就是自動化配置工具agent的安裝和部署,第二部分就是根據(jù)下發(fā)的參數(shù)結(jié)合預(yù)先設(shè)置的模型文件以及映射關(guān)系,轉(zhuǎn)換為自動化部署命令。
本發(fā)明提供的實現(xiàn)vnf部署的技術(shù)方案,通過預(yù)先設(shè)置的不同類型的vnf服務(wù)、角色、關(guān)系模型和實例化腳本與自動化配置命令的映射關(guān)系,并采用自動化配置工具的簡單操作,實現(xiàn)了大量vnf的自動化部署。
圖3為本發(fā)明獲取并執(zhí)行自動化配置命令的流程示意圖,也就是說,圖1中的步驟102具體包括:
步驟300:從已部署好的云主機中取出一臺云主機,根據(jù)接收到的vnf部署命令獲取vnf部署的相關(guān)參數(shù),主要包括vnf的服務(wù)id、角色id、角色的動作名稱以及云主機基本信息等。
步驟301:查詢vnf服務(wù)角色模型,獲取當(dāng)前需要部署的vnf服務(wù)的詳細信息。
步驟302~步驟303:查詢vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系,判斷當(dāng)前的vnf部署動作是否有對應(yīng)的自動化配置命令,如果沒有找到,則丟失當(dāng)前的vnf部署命令,進入步驟304;如果查詢到,則進入 步驟305。
步驟304:發(fā)送vnf部署失敗的消息,并返回步驟300。這里,這個vnf部署失敗的消息實際是發(fā)向上層的調(diào)用者,最后這個消息要呈現(xiàn)給用戶即下發(fā)vnf自動化部署操作的用戶。
步驟305:完成自動化配置命令的組裝,包括需要傳遞的參數(shù)組裝、命令組裝等。這里,自動化配置命令的組裝實際上就是調(diào)用自動化部署工具服server端的接口時所要傳入的參數(shù)。而接口參數(shù)的形式是由自動化部署工具服務(wù)器決定的,這是眾所周知的,這里不再贅述。
步驟306:將組裝好的自動化配置命令放入配置命令隊列中。
本步驟中,需要確定當(dāng)前的云主機是否是最后一臺云主機,如果是,則執(zhí)行步驟307;如果不是,則需要獲取下一臺云主機即返回步驟300。
步驟307:從配置命令隊列中取出配置命令,并通知自動化配置工具agent,執(zhí)行自動化配置命令,以完成vnf的部署。
圖4為本發(fā)明實現(xiàn)vnf部署的裝置的組成結(jié)構(gòu)示意圖,如圖4所示,至少包括設(shè)置模塊、安裝注冊模塊,以及部署模塊;其中,
設(shè)置模塊,用于預(yù)先建立vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系;
安裝注冊模塊,用于對于需要部署vnf實例的云主機,在其上安裝自動化部署代理并進行注冊;
部署模塊,用于根據(jù)預(yù)先建立的映射關(guān)系,對已部署好的云主機,將接收到的vnf部署命令轉(zhuǎn)換為自動化配置命令并執(zhí)行,以實現(xiàn)vnf部署。
具體地,
設(shè)置模塊具體用于:根據(jù)自動化配置工具的要求,完成vnf自動化部署腳本的編寫;對vnf服務(wù)角色模型進行設(shè)置:根據(jù)不同類型的vnf實例定義不同種類型的服務(wù),同一種類型的vnf,根據(jù)其不同的應(yīng)用場景和部署需要定義不同的角色類型以及該角色實例所支持的動作(如安裝、啟動、停止、升級等),并設(shè)置該動作與自動化配置命令的映射關(guān)系;部署自動化配置工具server端,完成自動化配置工具自身的配置;部署版本管理服務(wù)并啟動。 掃描指定目錄下vnf服務(wù)角色模型和自動化配置命令之間的映射關(guān)系的文件;并將vnf自動化配置腳本上傳到自動化配置工具server端。
安裝注冊模塊具體用于:
通過ip地址或域名來搜索可用的云主機;當(dāng)通過ssh通道,測試出搜索到的云主機可達且云主機的資源符合要求時,根據(jù)云主機操作系統(tǒng),通過ssh通道推送對應(yīng)的自動化配置工具agent版本到云主機。這樣,云主機通過執(zhí)行自動化配置工具agent的安裝腳本,即完成了自動化配置工具agent的安裝和向自動化配置工具server注冊。
進一步地,
安裝注冊模塊還用于,當(dāng)測試出云主機不可達,或者云主機的資源不符合要求時,丟棄屬于該ip地址的云主機。
部署模塊具體用于:從已部署好的云主機中取出一臺云主機,根據(jù)接收到的vnf部署命令獲取vnf部署的相關(guān)參數(shù),查詢vnf服務(wù)角色模型與自動化配置命令之間的映射關(guān)系,在判斷出當(dāng)前的vnf部署的相關(guān)參數(shù)中的vnf部署動作有對應(yīng)的自動化配置命令時,完成自動化配置命令的組裝并將組裝好的自動化配置命令放入配置命令隊列,直至最后一臺云主機的自動化配置命令放入配置命令隊列,從配置命令隊列中取出配置命令,并通知自動化配置工具agent,執(zhí)行自動化配置命令,以完成vnf的部署。
進一步地,部署模塊還用于:在判斷出當(dāng)前的vnf部署動作沒有對應(yīng)的自動化配置命令時,發(fā)送vnf部署失敗的消息。
本發(fā)明實現(xiàn)vnf部署的裝置可以設(shè)置在vnf版本管理服務(wù)器中,或者單獨作為一個實體。
以上所述,僅為本發(fā)明的較佳實例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。