本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種虛擬資源編排方法及裝置。
背景技術(shù):
在實(shí)際應(yīng)用中,一些分布式、集群式的應(yīng)用,如分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù)(英文:mongodb)、分布式計(jì)算(英文:hadoop)等中間應(yīng)用,需要多節(jié)點(diǎn)部署,并且可能會(huì)隨業(yè)務(wù)負(fù)載變化而動(dòng)態(tài)增減節(jié)點(diǎn)個(gè)數(shù)。
相關(guān)技術(shù)中,可以將這些應(yīng)用的多個(gè)節(jié)點(diǎn)部署于虛擬機(jī)或容器中,具體地,一種情況下,可以將這些節(jié)點(diǎn)全部部署于虛擬機(jī)中,或者,全部部署于容器(英文:container)中,另一種情況下,可以將這些節(jié)點(diǎn)混合部署于虛擬機(jī)和容器中。
在實(shí)際應(yīng)用中,通??梢岳镁幣诺姆绞絼?chuàng)建容器或虛擬機(jī)以部署上述應(yīng)用,具體地,在節(jié)點(diǎn)全部部署于虛擬機(jī)或容器上時(shí),以全部部署于虛擬機(jī)上為例,技術(shù)人員可以編輯一個(gè)編排模板,該編排模板中可以定義一組虛擬機(jī)的配置參數(shù)和依賴關(guān)系,而后虛擬機(jī)編排裝置可以根據(jù)該編排模板的定義,首先創(chuàng)建被依賴的虛擬機(jī)并獲取該被依賴的虛擬機(jī)的被依賴的參數(shù)值,而后再創(chuàng)建依賴于上述被依賴的虛擬機(jī)的依賴虛擬機(jī),在創(chuàng)建依賴虛擬機(jī)的過(guò)程中,虛擬機(jī)編排裝置可以將上述被依賴的參數(shù)值配置于依賴虛擬機(jī)中,以使依賴虛擬機(jī)基于該被依賴的參數(shù)值運(yùn)行部署于自身中的應(yīng)用;
由于現(xiàn)有的編排方式僅能夠?qū)崿F(xiàn)一組容器或一組虛擬機(jī)的創(chuàng)建,并不能實(shí)現(xiàn)虛擬機(jī)和容器的混合創(chuàng)建,因此,在將應(yīng)用的節(jié)點(diǎn)混合部署于容器和虛擬機(jī)中時(shí),技術(shù)人員需要根據(jù)容器和虛擬機(jī)的依賴關(guān)系編輯多個(gè)編排模板,并對(duì)創(chuàng)建容器和虛擬機(jī)的過(guò)程進(jìn)行人工干預(yù)。例如,在將節(jié)點(diǎn)部署于虛擬機(jī)a,容器b和虛擬機(jī)z上,且虛擬機(jī)a依賴于容器b的ip地址,容器b依賴于虛擬機(jī)z的ip地址時(shí),技術(shù)人員需要編輯一個(gè)編排模板創(chuàng)建虛擬機(jī)z,然后技術(shù)人員需要編輯一個(gè)編排模板創(chuàng)建容器b,在創(chuàng)建容器b時(shí),技術(shù)人員還需要將虛擬機(jī)z的ip地址配置給容器b,再然后技術(shù)人員需要編輯一個(gè)編排模板創(chuàng)建虛擬機(jī)a,在創(chuàng)建虛擬機(jī)a時(shí),技術(shù)人員還需要將容器b的ip地址配置給虛擬機(jī)a。
在實(shí)現(xiàn)本申請(qǐng)的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:
在將節(jié)點(diǎn)混合部署于虛擬機(jī)和容器上時(shí),需要編輯多個(gè)編排模板,且需要人工干預(yù)創(chuàng)建過(guò)程,導(dǎo)致節(jié)點(diǎn)部署的效率較低,流程較為復(fù)雜。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)節(jié)點(diǎn)部署效率較低、流程較為復(fù)雜的問(wèn)題,本發(fā)明實(shí)施例提供了一種虛擬資源編排方法及裝置。所述技術(shù)方案如下:
一方面,提供了一種虛擬資源編排方法,所述方法包括:
獲取編排模板,所述編排模板包括至少兩個(gè)待編排虛擬資源的配置參數(shù)和關(guān)系指示信息,所述至少兩個(gè)待編排虛擬資源包括存在依賴關(guān)系的第一待編排虛擬資源和第二待編排虛擬資源,所述第一待編排虛擬資源的關(guān)系指示信息用于指示所述第一待編排虛擬資源的指定參數(shù)被依賴,所述第二待編排虛擬資源的關(guān)系指示信息用于指示所述第二待編排虛擬資源依賴于所述第一待編排虛擬資源的指定參數(shù),所述待編排虛擬資源為虛擬機(jī)或容器;
基于所述第一待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第一虛擬資源;
基于所述第二待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第二虛擬資源;
基于所述第一待編排虛擬資源的關(guān)系指示信息和所述第二待編排虛擬資源的關(guān)系指示信息,將所述第一虛擬資源中的指定參數(shù)的參數(shù)值傳輸至所述第二虛擬資源中。
在本發(fā)明實(shí)施例中,編排模板中包括存在依賴關(guān)系的第一待編排虛擬資源和第二待編排虛擬資源的配置參數(shù)和關(guān)系指示信息,其中,第一待編排虛擬資源和第二待編排虛擬資源均可以為虛擬機(jī)或容器,虛擬資源編排裝置可以基于第一待編排虛擬資源和第二待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第一虛擬資源和第二虛擬資源,因此,技術(shù)人員僅編輯一個(gè)編排模板就能夠?qū)崿F(xiàn)虛擬機(jī)和容器的混合創(chuàng)建,從而提高了節(jié)點(diǎn)部署的效率,簡(jiǎn)化了節(jié)點(diǎn)部署的流程。
此外,第一待編排虛擬資源的關(guān)系指示信息用于指示第一待編排虛擬資源的指定參數(shù)被依賴,第二待編排虛擬資源的關(guān)系指示信息用于指示第二待編排虛擬資源依賴于第一待編排虛擬資源的指定參數(shù),也即是,第一待編排虛擬資源的關(guān)系指示信息和第二待編排虛擬資源的關(guān)系指示信息可以聯(lián)合指示第二待編排虛擬資源依賴于第一待編排虛擬資源的指定參數(shù),虛擬資源編排裝置在創(chuàng)建了第一虛擬資源和第二虛擬資源后,可以基于第一待編排虛擬資源的關(guān)系指示信息和第二待編排虛擬資源的關(guān)系指示信息,將第一虛擬資源中的指定參數(shù)的參數(shù)值傳輸至第二虛擬資源中,從而使得技術(shù)人員不需要根據(jù)虛擬機(jī)和容器的依賴關(guān)系對(duì)虛擬機(jī)和容器的創(chuàng)建過(guò)程進(jìn)行人工干預(yù),從而提高了節(jié)點(diǎn)部署的效率,簡(jiǎn)化了節(jié)點(diǎn)部署的流程。
在本發(fā)明的一個(gè)實(shí)施例中,上文所述的基于所述第一待編排虛擬資源的關(guān)系指示信息和所述第二待編排虛擬資源的關(guān)系指示信息,將所述第一虛擬資源中的指定參數(shù)的參數(shù)值傳輸至所述第二虛擬資源中的技術(shù)過(guò)程可以為:基于所述第一待編排虛擬資源的關(guān)系指示信息,獲取所述第一虛擬資源中的指定參數(shù)的參數(shù)值;基于所述第二待編排虛擬資源的關(guān)系指示信息,向所述第二虛擬資源提供所述指定參數(shù)的參數(shù)值。
其中,基于所述第一待編排虛擬資源的關(guān)系指示信息,獲取所述第一虛擬資源中的指定參數(shù)的參數(shù)值的技術(shù)過(guò)程可以包括:基于所述第一待編排虛擬資源的關(guān)系指示信息,通過(guò)所述第一虛擬資源對(duì)應(yīng)的調(diào)度裝置查詢所述第一虛擬資源中的指定參數(shù)的參數(shù)值;將查詢到的所述指定參數(shù)的參數(shù)值存儲(chǔ)于參數(shù)數(shù)據(jù)庫(kù)中。
基于所述第二待編排虛擬資源的關(guān)系指示信息,向所述第二虛擬資源提供所述指定參數(shù)的參數(shù)值的技術(shù)過(guò)程可以包括:向所述第二虛擬資源發(fā)送參數(shù)值獲取指令,所述參數(shù)值獲取指令攜帶所述第二待編排虛擬資源的關(guān)系指示信息,所述參數(shù)值獲取指令用于指示所述第二虛擬資源從所述參數(shù)數(shù)據(jù)庫(kù)中獲取所述第二待編排虛擬資源的關(guān)系指示信息所指示的指定參數(shù)的參數(shù)值。
在本發(fā)明的一個(gè)實(shí)施例中,所述第二待編排虛擬資源的配置參數(shù)包括:參數(shù)配置信息,所述參數(shù)配置信息用于指示所述第二虛擬資源在獲取所述指定參數(shù)的參數(shù)值后,將所述指定參數(shù)的參數(shù)值配置于所述第二虛擬資源的目標(biāo)應(yīng)用中。
在本發(fā)明的一個(gè)實(shí)施例中,所述第二待編排虛擬資源的配置參數(shù)包括:?jiǎn)?dòng)信息,所述啟動(dòng)信息用于指示所述第二虛擬資源在將所述指定參數(shù)的參數(shù)值配置于所述第二虛擬資源的目標(biāo)應(yīng)用中后,啟動(dòng)所述第二虛擬資源中的目標(biāo)應(yīng)用。
通過(guò)在第二虛擬資源的配置參數(shù)中設(shè)置參數(shù)配置信息和啟動(dòng)信息,使得第二虛擬資源可以在將指定參數(shù)值配置于目標(biāo)應(yīng)用中后啟動(dòng)目標(biāo)應(yīng)用,從而保證了第二虛擬資源中的目標(biāo)應(yīng)用能夠正確運(yùn)行。
在本發(fā)明的一個(gè)實(shí)施例中,基于所述第一待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第一虛擬資源的技術(shù)過(guò)程可以為:當(dāng)所述第一待編排虛擬資源為虛擬機(jī)時(shí),通過(guò)虛擬機(jī)調(diào)度裝置調(diào)用虛擬機(jī)創(chuàng)建引擎,基于所述第一待編排虛擬資源的配置參數(shù)創(chuàng)建所述第一待編排虛擬資源對(duì)應(yīng)的虛擬機(jī);當(dāng)所述第一待編排虛擬資源為容器時(shí),通過(guò)容器調(diào)度裝置調(diào)用容器創(chuàng)建引擎,基于所述第一待編排虛擬資源的配置參數(shù)創(chuàng)建所述第一待編排虛擬資源對(duì)應(yīng)的容器。
同理地,基于所述第二待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第二虛擬資源的技術(shù)過(guò)程可以為:當(dāng)所述第二待編排虛擬資源為虛擬機(jī)時(shí),通過(guò)虛擬機(jī)調(diào)度裝置調(diào)用虛擬機(jī)創(chuàng)建引擎,基于所述第二待編排虛擬資源的配置參數(shù)創(chuàng)建所述第二待編排虛擬資源對(duì)應(yīng)的虛擬機(jī);當(dāng)所述第二待編排虛擬資源為容器時(shí),通過(guò)容器調(diào)度裝置調(diào)用容器創(chuàng)建引擎,基于所述第二待編排虛擬資源的配置參數(shù)創(chuàng)建所述第二待編排虛擬資源對(duì)應(yīng)的容器。
第二方面,提供了一種虛擬資源編排裝置,該虛擬資源編排裝置包括至少一個(gè)模塊,該虛擬資源編排裝置可以通過(guò)上述至少一個(gè)模塊執(zhí)行上述第一方面或第一方面中任意一種實(shí)現(xiàn)方式所提供的虛擬資源編排方法。
本發(fā)明實(shí)施例提供的技術(shù)方案帶來(lái)的有益效果是:
通過(guò)獲取編排模板中存在依賴關(guān)系的第一待編排虛擬資源和第二待編排虛擬資源的配置參數(shù)和關(guān)系指示信息,其中,第一待編排虛擬資源和第二待編排虛擬資源均可以為虛擬機(jī)或容器,使得虛擬資源編排裝置可以基于第一待編排虛擬資源和第二待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第一虛擬資源和第二虛擬資源,因此,技術(shù)人員僅編輯一個(gè)編排模板就能夠?qū)崿F(xiàn)虛擬機(jī)和容器的混合創(chuàng)建,從而提高了節(jié)點(diǎn)部署的效率,簡(jiǎn)化了節(jié)點(diǎn)部署的流程。此外,第一待編排虛擬資源的關(guān)系指示信息用于指示第一待編排虛擬資源的指定參數(shù)被依賴,第二待編排虛擬資源的關(guān)系指示信息用于指示第二待編排虛擬資源依賴于第一待編排虛擬資源的指定參數(shù),也即是,第一待編排虛擬資源的關(guān)系指示信息和第二待編排虛擬資源的關(guān)系指示信息可以聯(lián)合指示第二待編排虛擬資源依賴于第一待編排虛擬資源的指定參數(shù),虛擬資源編排裝置在創(chuàng)建了第一虛擬資源和第二虛擬資源后,可以基于第一待編排虛擬資源的關(guān)系指示信息和第二待編排虛擬資源的關(guān)系指示信息,將第一虛擬資源中的指定參數(shù)的參數(shù)值傳輸至第二虛擬資源中,從而使得技術(shù)人員不需要根據(jù)虛擬機(jī)和容器的依賴關(guān)系對(duì)虛擬機(jī)和容器的創(chuàng)建過(guò)程進(jìn)行人工干預(yù),從而提高了節(jié)點(diǎn)部署的效率,簡(jiǎn)化了節(jié)點(diǎn)部署的流程。
附圖說(shuō)明
圖1-1是一種利用編排的方法創(chuàng)建一組虛擬機(jī)的方法的示意圖。
圖1-2是一種利用編排的方法混合創(chuàng)建虛擬機(jī)和容器的方法的示意圖。
圖1-3是本發(fā)明實(shí)施例提供的一種虛擬資源編排方法所涉及的實(shí)施環(huán)境的示意圖。
圖1-4是本發(fā)明實(shí)施例提供的一種虛擬資源編排裝置的結(jié)構(gòu)框圖。
圖1-5是本發(fā)明實(shí)施例提供的一種虛擬資源編排裝置的結(jié)構(gòu)框圖。
圖2-1是本發(fā)明實(shí)施例提供的一種虛擬資源編排方法的流程圖。
圖2-2是本發(fā)明實(shí)施例提供的一種虛擬資源編排裝置混合創(chuàng)建容器和虛擬機(jī)的示意圖。
圖2-3是本發(fā)明實(shí)施例提供的一種虛擬資源編排裝置傳遞指定參數(shù)的參數(shù)值的示意圖。
圖3是本發(fā)明實(shí)施例提供的一種虛擬資源編排裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本申請(qǐng)實(shí)施方式作進(jìn)一步地詳細(xì)描述。
當(dāng)前,虛擬機(jī)(英文:virtualmachine,簡(jiǎn)稱:vm)和容器(英文:container)已經(jīng)成為計(jì)算虛擬化領(lǐng)域的兩個(gè)主要的技術(shù),它們各有特點(diǎn)和應(yīng)用場(chǎng)景。其中,虛擬機(jī)帶有操作系統(tǒng),是一種硬件級(jí)的虛擬化隔離裝置,主要適用于部署對(duì)系統(tǒng)隔離性、安全性要求較高的應(yīng)用或模塊,而容器與主機(jī)共享操作系統(tǒng)內(nèi)核,并可以通過(guò)操作系統(tǒng)內(nèi)核提供的隔離能力為應(yīng)用或模塊提供獨(dú)立的用戶域、文件系統(tǒng)和運(yùn)行空間等,其具有更高的遷移性和部署密度。
在實(shí)際應(yīng)用中,一些需要多節(jié)點(diǎn)部署的分布式、集群式的應(yīng)用可以部署于多個(gè)虛擬機(jī)或容器中,也即是,該類應(yīng)用的多個(gè)節(jié)點(diǎn)可以全部部署于虛擬機(jī)中、全部部署于容器中或混合部署于虛擬機(jī)和容器中。在實(shí)際應(yīng)用中,對(duì)于一些應(yīng)用而言,基于虛擬機(jī)和容器各自的特點(diǎn),將節(jié)點(diǎn)混合部署于虛擬機(jī)和容器中要優(yōu)于將節(jié)點(diǎn)全部部署于虛擬機(jī)或全部部署于容器中。以分布式計(jì)算(英文:hadoop)應(yīng)用組建的一個(gè)分析系統(tǒng)為例,其需要部署的節(jié)點(diǎn)類型有三類,第一類為主節(jié)點(diǎn)(英文:masternode),第二類為從節(jié)點(diǎn)(英文:slavenode),第三類為用戶節(jié)點(diǎn)(英文:clientnode)。其中,主節(jié)點(diǎn)負(fù)責(zé)整個(gè)分析系統(tǒng)的元數(shù)據(jù)和任務(wù)調(diào)度管理,主節(jié)點(diǎn)部署后通常不需要?jiǎng)討B(tài)增減,其對(duì)可靠性、隔離性的要求較高,因此適合將其部署到虛擬機(jī)上,而從節(jié)點(diǎn)負(fù)責(zé)執(zhí)行數(shù)據(jù)分析任務(wù),自身具有多副本機(jī)制,具有一定的可靠性保證,且從節(jié)點(diǎn)是未來(lái)分析系統(tǒng)擴(kuò)展的主體,需要?jiǎng)討B(tài)增減和擴(kuò)容,因此適合將其部署到容器上,用戶節(jié)點(diǎn)僅在執(zhí)行數(shù)據(jù)分析任務(wù)時(shí)被使用,可以動(dòng)態(tài)地創(chuàng)建和銷毀,因此適合將其部署到容器上。
在實(shí)際應(yīng)用中,一般可以利用編排的方式通過(guò)編輯一個(gè)編排模板來(lái)創(chuàng)建一組虛擬機(jī)或一組容器以實(shí)現(xiàn)上述分布式、集群式的應(yīng)用的多節(jié)點(diǎn)部署。其中,編排指的是通過(guò)流程化的方式實(shí)現(xiàn)一組虛擬機(jī)或一組容器的創(chuàng)建。
以將上述舉例中用戶節(jié)點(diǎn)(下文稱為x節(jié)點(diǎn))、主節(jié)點(diǎn)(下文稱為y節(jié)點(diǎn))和從節(jié)點(diǎn)(下文稱為z節(jié)點(diǎn))全部部署于虛擬機(jī)中為例,技術(shù)人員可以編輯一個(gè)編排模板,該編排模板中可以定義3個(gè)待編排虛擬機(jī)x1、y1和z1(分別對(duì)應(yīng)于x節(jié)點(diǎn)、y節(jié)點(diǎn)和z節(jié)點(diǎn))的配置參數(shù),如中央處理器(英文:centralprocessingunit,簡(jiǎn)稱:cpu)個(gè)數(shù)、內(nèi)存大小、虛擬機(jī)鏡像類型等,以及該3個(gè)待編排虛擬機(jī)x1、y1和z1的依賴關(guān)系(對(duì)應(yīng)于x節(jié)點(diǎn)、y節(jié)點(diǎn)和z節(jié)點(diǎn)的依賴關(guān)系),例如該依賴關(guān)系可以為待編排虛擬機(jī)x1依賴于待編排虛擬機(jī)y1的網(wǎng)際互聯(lián)協(xié)議(英文:internetprotocol,簡(jiǎn)稱:ip)地址,待編排虛擬機(jī)y1依賴于待編排虛擬機(jī)z1的ip地址。
如圖1-1所示,虛擬機(jī)編排裝置(英文:vmorchestrator)u可以解析該編排模板,經(jīng)過(guò)對(duì)編排模板的解析,虛擬機(jī)編排裝置u可以確定待編排虛擬機(jī)的創(chuàng)建順序?yàn)閦1-y1-x1(被依賴的待編排虛擬機(jī)優(yōu)先創(chuàng)建),并獲取待編排虛擬機(jī)x1、y1和z1的配置參數(shù)。而后虛擬機(jī)編排裝置u可以基于對(duì)編排模板的解析結(jié)果調(diào)用虛擬機(jī)調(diào)度裝置(英文:vmscheduler)v,虛擬機(jī)調(diào)度裝置v可以根據(jù)該解析結(jié)果中待編排虛擬機(jī)x1、y1和z1的配置參數(shù)選擇合適的資源(如某一物理服務(wù)器等)部署該3個(gè)待編排虛擬機(jī)x1、y1和z1。虛擬機(jī)調(diào)度裝置v還可以根據(jù)選擇的合適的資源調(diào)用虛擬機(jī)創(chuàng)建引擎(英文:hypervisor)w基于該3個(gè)待編排虛擬機(jī)x1、y1和z1的配置參數(shù)和創(chuàng)建順序創(chuàng)建對(duì)應(yīng)的虛擬機(jī)x2、y2和z2,并在創(chuàng)建的過(guò)程中,將虛擬機(jī)z2的ip地址配置到虛擬機(jī)y2中,將虛擬機(jī)y2的ip地址配置到虛擬機(jī)x2中。在實(shí)際應(yīng)用中,上文所述的虛擬機(jī)編排裝置可以為heat組件,該heat組件是開(kāi)源的云計(jì)算管理平臺(tái)項(xiàng)目openstack中的虛擬機(jī)編排裝置,虛擬機(jī)調(diào)度裝置可以為nova組件、vsphereserver組件等,該nova組件是上述openstack中的虛擬機(jī)調(diào)度裝置,該vsphereserver組件是虛擬化軟件平臺(tái)vmware中的虛擬機(jī)調(diào)度裝置。
需要說(shuō)明的是,利用編排的方式創(chuàng)建一組容器的方式與上述舉例中利用編排的方式創(chuàng)建一組虛擬機(jī)的方式同理,所不同的是,利用編排的方式創(chuàng)建一組容器時(shí),需要由容器編排裝置(英文:containerorchestrator)、容器調(diào)度裝置(英文:containerscheduler)和容器創(chuàng)建引擎(英文:containerengine)執(zhí)行,其中,在實(shí)際應(yīng)用中,該容器編排裝置可以為magnum組件,該magnum組件是開(kāi)源的云計(jì)算管理平臺(tái)項(xiàng)目openstack中的容器編排裝置,容器調(diào)度裝置可以為基于linux的容器內(nèi)核的容器的集群管理調(diào)度組件(英文:kubernates,簡(jiǎn)稱:k8s)、基于linux的容器內(nèi)核的容器的集群管理調(diào)度組件(英文:swarm)等。
由于容器的創(chuàng)建和虛擬機(jī)的創(chuàng)建需要分別由容器編排裝置和虛擬機(jī)編排裝置執(zhí)行,而容器編排裝置和虛擬機(jī)編排裝置并不兼容,因此,在將應(yīng)用的節(jié)點(diǎn)混合部署于虛擬機(jī)和容器上時(shí),技術(shù)人員需要編輯多個(gè)編排模板,并對(duì)創(chuàng)建過(guò)程進(jìn)行人工干預(yù)。具體地:
以將上述舉例中x節(jié)點(diǎn)部署于容器上、y節(jié)點(diǎn)部署于虛擬機(jī)上、z節(jié)點(diǎn)部署于容器上為例,由于容器編排裝置和虛擬機(jī)編排裝置并不兼容,因此,如圖1-2所示,技術(shù)人員首先需要針對(duì)z節(jié)點(diǎn)編輯一個(gè)編排模板1,并通過(guò)容器編排裝置t解析該編排模板1,調(diào)用容器調(diào)度裝置p和容器創(chuàng)建引擎q創(chuàng)建z節(jié)點(diǎn)對(duì)應(yīng)的容器z3,同時(shí)技術(shù)人員需要獲取容器z3的ip地址,然后技術(shù)人員需要針對(duì)y節(jié)點(diǎn)編輯一個(gè)編排模板2,并通過(guò)虛擬機(jī)編排裝置u解析該編排模板2,調(diào)用虛擬機(jī)調(diào)度裝置v和虛擬機(jī)創(chuàng)建引擎w創(chuàng)建y節(jié)點(diǎn)對(duì)應(yīng)的虛擬機(jī)y3,同時(shí)技術(shù)人員需要將容器z3的ip地址配置到虛擬機(jī)y3中,并獲取虛擬機(jī)y3的ip地址,再然后技術(shù)人員需要針對(duì)x節(jié)點(diǎn)編輯一個(gè)編排模板3,并通過(guò)容器編排裝置t解析該編排模板3,調(diào)用容器調(diào)度裝置p和容器創(chuàng)建引擎q創(chuàng)建x節(jié)點(diǎn)對(duì)應(yīng)的容器x3,同時(shí)技術(shù)人員需要將虛擬機(jī)y3的ip地址配置到容器x3中,至此技術(shù)人員才完成了對(duì)容器x3、虛擬機(jī)y3和容器z3的創(chuàng)建。
實(shí)際應(yīng)用中,在將應(yīng)用的節(jié)點(diǎn)混合部署于虛擬機(jī)和容器上時(shí),技術(shù)人員需要編輯多個(gè)編排模板,并對(duì)創(chuàng)建過(guò)程進(jìn)行人工干預(yù),這會(huì)導(dǎo)致節(jié)點(diǎn)部署的效率較低,流程較為復(fù)雜。
請(qǐng)參考圖1-3,圖1-3是本發(fā)明實(shí)施例提供的虛擬資源編排方法所涉及的實(shí)施環(huán)境,該實(shí)施環(huán)境包括多個(gè)節(jié)點(diǎn)a,該多個(gè)節(jié)點(diǎn)a可以為物理服務(wù)器或虛擬機(jī)等,在該多個(gè)節(jié)點(diǎn)a中可以部署有虛擬資源編排裝置101、容器調(diào)度裝置102、虛擬機(jī)調(diào)度裝置103、容器創(chuàng)建引擎104和虛擬機(jī)創(chuàng)建引擎105。在實(shí)際應(yīng)用中,如圖1-3所示,虛擬資源編排裝置101、容器調(diào)度裝置102、虛擬機(jī)調(diào)度裝置103、容器創(chuàng)建引擎104和虛擬機(jī)創(chuàng)建引擎105可以分別單獨(dú)部署于一個(gè)節(jié)點(diǎn)中。當(dāng)然,在實(shí)際應(yīng)用中,兩個(gè)或兩個(gè)以上的裝置也可以共同部署于同一個(gè)節(jié)點(diǎn)中,例如,容器調(diào)度裝置102和虛擬機(jī)調(diào)度裝置103可以部署于同一個(gè)節(jié)點(diǎn)中,本發(fā)明實(shí)施例對(duì)此不做具體限定。
其中,虛擬資源編排裝置101可以與容器調(diào)度裝置102和虛擬機(jī)調(diào)度裝置103進(jìn)行通信,容器調(diào)度裝置102可以與容器創(chuàng)建引擎104進(jìn)行通信,虛擬機(jī)調(diào)度裝置103可以和虛擬機(jī)創(chuàng)建引擎105進(jìn)行通信。
容器調(diào)度裝置102用于根據(jù)虛擬資源編排裝置101的調(diào)用指令所指示的待編排容器的配置參數(shù)選擇合適的節(jié)點(diǎn)(如某一物理服務(wù)器)部署該待編排容器,容器調(diào)度裝置102還用于調(diào)用容器創(chuàng)建引擎104根據(jù)待編排容器的配置參數(shù)在選擇的合適的節(jié)點(diǎn)上創(chuàng)建對(duì)應(yīng)的容器。
虛擬機(jī)調(diào)度裝置103用于根據(jù)虛擬資源編排裝置101的調(diào)用指令所指示的待編排虛擬機(jī)的配置參數(shù)選擇合適的節(jié)點(diǎn)(如某一物理服務(wù)器)部署該待編排虛擬機(jī),虛擬機(jī)調(diào)度裝置103還用于調(diào)用虛擬機(jī)創(chuàng)建引擎105根據(jù)待編排虛擬機(jī)的配置參數(shù)在選擇的合適的節(jié)點(diǎn)上創(chuàng)建對(duì)應(yīng)的虛擬機(jī)。
請(qǐng)參考圖1-4,圖1-4是本發(fā)明實(shí)施例提供的虛擬資源編排裝置101的結(jié)構(gòu)框圖,如圖1-4所示,該虛擬資源編排裝置101可以包括:模型解析模塊001、指令生成模塊002、底層管理模塊003和參數(shù)數(shù)據(jù)庫(kù)004,其中,指令生成模塊002能夠與底層管理模塊003、參數(shù)數(shù)據(jù)庫(kù)004和模板解析模塊001分別進(jìn)行通信。
模板解析模塊001用于獲取編排模板,并對(duì)該編排模板進(jìn)行解析,以獲取該編排模板中包括的待編排虛擬資源的配置參數(shù)和關(guān)系指示信息等。
指令生成模塊002用于根據(jù)模板解析模塊001對(duì)編排模板的解析結(jié)果生成對(duì)容器調(diào)度裝置的第一調(diào)用指令,和/或?qū)μ摂M機(jī)調(diào)度裝置的第二調(diào)用指令,該第一調(diào)用指令可以攜帶待編排容器的配置參數(shù)等,該第二調(diào)用指令可以攜帶待編排虛擬機(jī)的配置參數(shù)等,從而使容器調(diào)度裝置基于第一調(diào)用指令調(diào)用容器創(chuàng)建引擎創(chuàng)建容器,和/或使虛擬機(jī)調(diào)度裝置基于第二調(diào)用指令調(diào)用虛擬機(jī)創(chuàng)建引擎創(chuàng)建虛擬機(jī)。
指令生成模塊002還可以基于模板解析模塊001對(duì)編排模板的解析結(jié)果通過(guò)虛擬機(jī)調(diào)度裝置,和/或容器調(diào)度裝置查詢已經(jīng)創(chuàng)建的虛擬資源中被其他虛擬資源依賴的虛擬資源中的指定參數(shù)的參數(shù)值。指令生成模塊002可以將該指定參數(shù)的參數(shù)值存儲(chǔ)至參數(shù)數(shù)據(jù)庫(kù)004中。
指令生成模塊002還可以基于模板解析模塊001對(duì)編排模板的解析結(jié)果生成參數(shù)值獲取指令,以指示已經(jīng)創(chuàng)建的虛擬資源中需要依賴于其他虛擬資源的虛擬資源從參數(shù)數(shù)據(jù)庫(kù)004中獲取依賴的指定參數(shù)的參數(shù)值。
底層管理模塊003可以與容器調(diào)度裝置、虛擬機(jī)調(diào)度裝置和已經(jīng)創(chuàng)建的虛擬資源進(jìn)行通信,以向該容器調(diào)度裝置發(fā)送指令生成模塊002生成的第一調(diào)用指令,向虛擬機(jī)調(diào)度裝置發(fā)送指令生成模塊002生成的第二調(diào)用指令,向已經(jīng)創(chuàng)建的虛擬資源發(fā)送指令生成模塊002生成的參數(shù)值獲取指令。
請(qǐng)參考圖1-5,圖1-5是本發(fā)明實(shí)施例提供的虛擬資源編排裝置101的結(jié)構(gòu)框圖,如圖1-5所示,該虛擬資源編排裝置101可以包括:處理器a、存儲(chǔ)器b、總線c和至少一個(gè)通信接口d。
處理器a可以是通用中央處理器(英文:centralprocessingunit,簡(jiǎn)稱:cpu)、微處理器、特定應(yīng)用集成電路(英文:application-specificintegratedcircuit,簡(jiǎn)稱:asic)、或用于控制實(shí)現(xiàn)本申請(qǐng)方案的程序執(zhí)行的集成電路。
存儲(chǔ)器b可以是只讀存儲(chǔ)器(英文:read-onlymemory,簡(jiǎn)稱:rom)、隨機(jī)存取存儲(chǔ)器(英文:randomaccessmemory,簡(jiǎn)稱:ram)、可存儲(chǔ)信息和指令的動(dòng)態(tài)存儲(chǔ)設(shè)備、電可擦可編程只讀存儲(chǔ)器(英文:electricallyerasableprogrammableread-onlymemory,簡(jiǎn)稱eeprom)、只讀光盤(pán)(英文:compactdiscread-onlymemory,簡(jiǎn)稱:cd-rom)、磁盤(pán)存儲(chǔ)介質(zhì)等。
其中,存儲(chǔ)器b用于存儲(chǔ)執(zhí)行本申請(qǐng)方案的應(yīng)用程序代碼,也即是存儲(chǔ)器b存儲(chǔ)有圖1-4中模板解析模塊001和指令生成模塊002對(duì)應(yīng)的邏輯代碼,并由處理器a來(lái)執(zhí)行上述邏輯代碼以實(shí)現(xiàn)本申請(qǐng)的技術(shù)方案。此外,存儲(chǔ)器b中還存儲(chǔ)有參數(shù)數(shù)據(jù)庫(kù)004中存儲(chǔ)的數(shù)據(jù)。
總線c可以為一個(gè)通路,用于在上述處理器a、存儲(chǔ)器b和至少一個(gè)通信接口d之間傳送信息。
通信接口d可以為收發(fā)器等裝置,用于與其他裝置(如虛擬機(jī)調(diào)度裝置、容器調(diào)度裝置等)或通信網(wǎng)絡(luò)通信,如以太網(wǎng),無(wú)線接入網(wǎng)(英文:radioaccessnetwork,簡(jiǎn)稱:ran),無(wú)線局域網(wǎng)(英文:wirelesslocalareanetworks,簡(jiǎn)稱:wlan)等。
圖2-1是本發(fā)明實(shí)施例提供一種虛擬資源編排方法的流程圖,該虛擬資源編排方法應(yīng)用于如圖1-3所示的虛擬資源編排裝置101中,如圖2-1所示,該虛擬資源編排方法包括以下步驟:
步驟201、虛擬資源編排裝置獲取編排模板。
需要說(shuō)明的是,上述編排模板可以包括至少兩個(gè)待編排虛擬資源的配置參數(shù)和關(guān)系指示信息。其中,待編排虛擬資源可以為虛擬機(jī)或容器,配置參數(shù)可以包括cpu個(gè)數(shù)、內(nèi)存大小、鏡像類型、調(diào)度裝置的類型等,上述至少兩個(gè)待編排虛擬資源可以包括存在依賴關(guān)系的第一待編排虛擬資源和第二待編排虛擬資源,其中,第一待編排虛擬資源被第二待編排虛擬資源所依賴,這里的“依賴”指的是第一待編排虛擬資源和第二待編排虛擬資源之間的語(yǔ)義連接關(guān)系,具體地,第一待編排虛擬資源被第二待編排虛擬資源所依賴,指的是第二待編排虛擬資源中的目標(biāo)應(yīng)用需要配置第一待編排虛擬資源中的指定參數(shù)的參數(shù)值。
以上述舉例中x節(jié)點(diǎn)部署于容器上、y節(jié)點(diǎn)部署于虛擬機(jī)上、z節(jié)點(diǎn)部署于容器上,且,y節(jié)點(diǎn)依賴于z節(jié)點(diǎn)的ip地址,x節(jié)點(diǎn)依賴于y節(jié)點(diǎn)的ip地址為例。在這種情況下,編排模板中可以包括三個(gè)待編排虛擬資源x4(對(duì)應(yīng)于節(jié)點(diǎn)x)、y4(對(duì)應(yīng)于節(jié)點(diǎn)y)和z4(對(duì)應(yīng)于節(jié)點(diǎn)z)的配置參數(shù),其中,x4可以為容器,y4可以為虛擬機(jī),z4可以為容器。由于x節(jié)點(diǎn)需要依賴于y節(jié)點(diǎn),則在上述編排模板中,x4也需要依賴于y4,因此,x4在編排模板中為第二待編排虛擬資源。由于y節(jié)點(diǎn)一方面需要依賴于z節(jié)點(diǎn),另一方面又被x節(jié)點(diǎn)依賴,因此,在編排模板中,y4也一方面依賴于z4,另一方面又被x4依賴,因此,y4在編排模板中既為第一待編排虛擬資源,又為第二待編排虛擬資源。由于z節(jié)點(diǎn)需要被y節(jié)點(diǎn)依賴,因此,在編排模板中,z4也被y4依賴,因此,z4在編排模板中為第一待編排虛擬資源。如表1所示為編排模板中待編排虛擬資源x4、y4和z4的資源類型,依賴關(guān)系以及資源種類。
表1
此外,在編排模板中,該第一待編排虛擬資源的關(guān)系指示信息用于指示第一待編排虛擬資源的指定參數(shù)被依賴,該第二待編排虛擬資源的關(guān)系指示信息用于指示第二待編排虛擬資源依賴于第一待編排虛擬資源的指定參數(shù),也即是,第一待編排虛擬資源的關(guān)系指示信息和第二待編排虛擬資源的關(guān)系指示信息可以聯(lián)合指示該第二待編排虛擬資源依賴于該第一待編排虛擬資源的指定參數(shù)。
以上述舉例中x節(jié)點(diǎn)部署于容器上、y節(jié)點(diǎn)部署于虛擬機(jī)上、z節(jié)點(diǎn)部署于容器上,且,指定參數(shù)為ip地址,即y節(jié)點(diǎn)依賴于z節(jié)點(diǎn)的ip地址,x節(jié)點(diǎn)依賴于y節(jié)點(diǎn)的ip地址為例。在這種情況下,編排模板中z4的關(guān)系指示信息可以指示z4的ip地址被依賴,y4的關(guān)系指示信息可以指示y4的ip地址被依賴,同時(shí)y4的關(guān)系指示信息也可以指示y4依賴于z4的ip地址,x4的關(guān)系指示信息可以指示x4依賴于y4的ip地址。
在實(shí)際應(yīng)用中,上述舉例中的編排模板可以為:
parameter:
param1:{type,value}
param2:{type,value}
param3:{type,value}
resource:
master_node://y4
type:vm//y4為虛擬機(jī)
properties:param1//資源屬性,可以從parameter中獲取,該資源屬性可以為物理服務(wù)器的名稱、ip地址、訪問(wèn)的秘鑰、用戶名和密碼信息、掛載磁盤(pán)配置信息等
engine-type:nova//虛擬機(jī)調(diào)度裝置的類型
flavor:xxx//虛擬機(jī)規(guī)格
image:xxx//鏡像類型
meta-data:
slave-ip:{slave-ip}//關(guān)系指示信息,用于指示y4依賴于z4的ip地址
output:
master-ip:{this.ip}//關(guān)系指示信息,用于指示y4的ip地址被依賴
slave_node://z4
type:docker//z4為容器
properties:param2//資源屬性,可以從parameter中獲取
engine-type:magnum//容器調(diào)度裝置的類型
flavor:xxx//容器規(guī)格
image:xxx//鏡像類型
output:
slave-ip:{this.ip}//關(guān)系指示信息,用于指示z4的ip地址被依賴
client_node://x4
type:docker//x4為容器
properties:param3//資源屬性,可以從parameter中獲取
engine-type:magnum//容器調(diào)度裝置的類型
flavor:xxx//容器規(guī)格
image:xxx//鏡像類型
meta-data:
master-ip:{master-ip}//關(guān)系指示信息,用于指示x4依賴于y4的ip地址
需要說(shuō)明的是,上述編排模板僅僅是示例性的,其并不能限制本申請(qǐng)。
步驟202、虛擬資源編排裝置基于該第一待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第一虛擬資源。
在實(shí)際應(yīng)用中,虛擬資源編排裝置可以解析上述編排模板,當(dāng)該第一待編排虛擬資源為虛擬機(jī)時(shí),虛擬資源編排裝置可以通過(guò)虛擬機(jī)調(diào)度裝置調(diào)用虛擬機(jī)創(chuàng)建引擎,基于第一待編排虛擬資源的配置參數(shù)創(chuàng)建第一待編排虛擬資源對(duì)應(yīng)的虛擬機(jī);當(dāng)該第一待編排虛擬資源為容器時(shí),虛擬資源編排裝置可以通過(guò)容器調(diào)度裝置調(diào)用容器創(chuàng)建引擎,基于第一待編排虛擬資源的配置參數(shù)創(chuàng)建該第一待編排虛擬資源對(duì)應(yīng)的容器。
其中,虛擬資源編排裝置通過(guò)虛擬機(jī)調(diào)度裝置調(diào)用虛擬機(jī)創(chuàng)建引擎創(chuàng)建虛擬機(jī)的方式與上文所述的虛擬機(jī)編排裝置通過(guò)虛擬機(jī)調(diào)度裝置調(diào)用虛擬機(jī)創(chuàng)建引擎創(chuàng)建虛擬機(jī)的方式同理,本發(fā)明實(shí)施例在此不再贅述。虛擬資源編排裝置通過(guò)容器調(diào)度裝置調(diào)用容器創(chuàng)建引擎創(chuàng)建容器的方式與上文所述的虛擬機(jī)編排裝置通過(guò)虛擬機(jī)調(diào)度裝置調(diào)用虛擬機(jī)創(chuàng)建引擎創(chuàng)建虛擬機(jī)的方式也同理,本發(fā)明實(shí)施例在此也不再贅述。
步驟203、虛擬資源編排裝置基于該第二待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第二虛擬資源。
在實(shí)際應(yīng)用中,虛擬資源編排裝置基于該第二待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第二虛擬資源的方式與步驟202所述的方式同理,本發(fā)明實(shí)施例在此不再贅述。
需要說(shuō)明的是,在實(shí)際應(yīng)用中,虛擬資源編排裝置可以并行執(zhí)行上述步驟202和203,本發(fā)明實(shí)施例對(duì)此不作具體限定。
以上述舉例中示出的編排模板為例,如圖2-2所示,虛擬資源編排裝置可以解析該編排模板,從而獲取x4、y4和z4的配置參數(shù)?;谏鲜鼋馕鼋Y(jié)果,虛擬資源編排裝置可以通過(guò)容器調(diào)度裝置p調(diào)用容器創(chuàng)建引擎q,基于x4和z4的配置參數(shù)創(chuàng)建容器x5(對(duì)應(yīng)于第二待編排虛擬資源x4)和容器z5(對(duì)應(yīng)于第一待編排虛擬資源z4),虛擬資源編排裝置還可以通過(guò)虛擬機(jī)調(diào)度裝置v調(diào)用虛擬機(jī)創(chuàng)建引擎w,基于y4的配置參數(shù)創(chuàng)建虛擬機(jī)y5(對(duì)應(yīng)于第一待編排虛擬資源和第二待編排虛擬資源y4)。
步驟204、虛擬資源編排裝置基于該第一待編排虛擬資源的關(guān)系指示信息和該第二待編排虛擬資源的關(guān)系指示信息,將該第一虛擬資源中的指定參數(shù)的參數(shù)值傳輸至該第二虛擬資源中。
在實(shí)際應(yīng)用中,創(chuàng)建了第一虛擬資源和第二虛擬資源后,由于第二虛擬資源的目標(biāo)應(yīng)用還沒(méi)有配置指定參數(shù)的參數(shù)值,因此,第二虛擬資源中的目標(biāo)應(yīng)用仍然無(wú)法正常運(yùn)行。例如,在上述舉例中,創(chuàng)建了x5、y5和z5后,y5還沒(méi)有獲取自身依賴的z5的ip地址,更沒(méi)有將z5的ip地址配置到自身的目標(biāo)應(yīng)用中,因此,y5中的目標(biāo)應(yīng)用無(wú)法正常運(yùn)行,同理地,x5也還沒(méi)有獲取自身依賴的y5的ip地址,更沒(méi)有將y5的ip地址配置到自身的目標(biāo)應(yīng)用中,因此,x5中的目標(biāo)應(yīng)用無(wú)法正常運(yùn)行。為了保證第二虛擬資源中的目標(biāo)應(yīng)用能夠正常運(yùn)行,本發(fā)明實(shí)施例需要在創(chuàng)建了第一虛擬資源和第二虛擬資源之后,將第一虛擬資源中的指定參數(shù)的參數(shù)值傳輸至第二虛擬資源中。
對(duì)于第一虛擬資源而言,虛擬資源編排裝置需要基于第一待編排虛擬資源的關(guān)系指示信息,獲取第一虛擬資源的目標(biāo)參數(shù)的參數(shù)值,具體地:虛擬資源編排裝置可以在第一虛擬資源為虛擬機(jī)時(shí),基于第一待編排虛擬資源的關(guān)系指示信息,通過(guò)虛擬機(jī)調(diào)度裝置查詢第一虛擬資源的指定參數(shù)的參數(shù)值,在第一虛擬資源為容器時(shí),基于第一待編排虛擬資源的關(guān)系指示信息,通過(guò)容器調(diào)度裝置查詢第一虛擬資源的指定參數(shù)的參數(shù)值。而后,虛擬資源編排裝置可以將查詢到的指定參數(shù)的參數(shù)值存儲(chǔ)于參數(shù)數(shù)據(jù)庫(kù)中。當(dāng)然,在實(shí)際應(yīng)用中,虛擬資源編排裝置還可以通過(guò)其他方法獲取第一虛擬資源的目標(biāo)參數(shù)的參數(shù)值,本發(fā)明實(shí)施例對(duì)此不做具體限定。
對(duì)于第二虛擬資源而言,虛擬資源編排裝置需要基于該第二待編排虛擬資源的關(guān)系指示信息,向第二虛擬資源提供指定參數(shù)的參數(shù)值,具體地:虛擬資源編排裝置可以向該第二虛擬資源發(fā)送參數(shù)值獲取指令,該參數(shù)值獲取指令攜帶該第二待編排虛擬資源的關(guān)系指示信息,該參數(shù)值獲取指令用于指示該第二虛擬資源從該參數(shù)數(shù)據(jù)庫(kù)中獲取該第二待編排虛擬資源的關(guān)系指示信息所指示的指定參數(shù)的參數(shù)值,第二虛擬資源在接收到該參數(shù)值獲取指令后,可以周期性地查詢上述參數(shù)數(shù)據(jù)庫(kù),直至從上述參數(shù)數(shù)據(jù)庫(kù)中獲取到指定參數(shù)的參數(shù)值為止。
例如,如圖2-3所示,在上述舉例中,虛擬資源編排裝置可以通過(guò)虛擬機(jī)調(diào)度裝置查詢y5的ip地址的值,通過(guò)容器調(diào)度裝置查詢z5的ip地址的值,虛擬資源編排裝置查詢到的y5的ip地址的值可以為1.80.145.216,虛擬資源編排裝置查詢到的z5的ip地址的值可以為1.80.145.215。虛擬資源編排裝置可以將查詢到的y5的ip地址的值和z5的ip地址的值存儲(chǔ)于參數(shù)數(shù)據(jù)庫(kù)中。此外,虛擬資源編排裝置還可以向x5和y5發(fā)送參數(shù)值獲取指令,發(fā)送給x5的參數(shù)值獲取指令可以攜帶用于指示y5的ip地址的指示信息,發(fā)送給y5的參數(shù)值獲取指令可以攜帶用于指示z5的ip地址的指示信息,x5接收到參數(shù)值獲取指令后,可以周期性地查詢上述參數(shù)數(shù)據(jù)庫(kù),直至從上述參數(shù)數(shù)據(jù)庫(kù)中獲取到y(tǒng)5的ip地址的值,也即是1.80.145.216,y5接收到參數(shù)值獲取指令后,可以周期性地查詢上述參數(shù)數(shù)據(jù)庫(kù),直至從上述參數(shù)數(shù)據(jù)庫(kù)中獲取到z5的ip地址的值,也即是1.80.145.215。
需要說(shuō)明的是,第二待編排虛擬資源的配置參數(shù)可以包括:參數(shù)配置信息,該參數(shù)配置信息用于指示第二虛擬資源在獲取指定參數(shù)的參數(shù)值后,將該指定參數(shù)的參數(shù)值配置于該第二虛擬資源的目標(biāo)應(yīng)用中。此外,該第二待編排虛擬資源的配置參數(shù)還包括:?jiǎn)?dòng)信息,該啟動(dòng)信息用于指示第二虛擬資源在將該指定參數(shù)的參數(shù)值配置于該第二虛擬資源的目標(biāo)應(yīng)用中后,啟動(dòng)第二虛擬資源中的目標(biāo)應(yīng)用。
通過(guò)在配置參數(shù)中設(shè)置參數(shù)配置信息和啟動(dòng)信息,使得基于該配置參數(shù)創(chuàng)建的第二虛擬資源能夠在獲取了指定參數(shù)的參數(shù)值后將該指定參數(shù)的參數(shù)值配置于目標(biāo)應(yīng)用中,并在配置完成后啟動(dòng)該第二虛擬資源中的目標(biāo)應(yīng)用,從而保證了第二虛擬資源中目標(biāo)應(yīng)用的正常運(yùn)行。
需要說(shuō)明的是,本發(fā)明實(shí)施例提供的上述虛擬資源的編排方法不僅能夠?qū)崿F(xiàn)虛擬機(jī)和容器的混合編排,也能夠?qū)崿F(xiàn)對(duì)一組虛擬機(jī)或一組容器的單獨(dú)編排,其實(shí)現(xiàn)方式與虛擬機(jī)和容器的混合編排的實(shí)現(xiàn)方式同理,本發(fā)明實(shí)施例在此不再贅述。
綜上所述,本發(fā)明實(shí)施例提供的虛擬資源的編排方法,通過(guò)獲取編排模板中存在依賴關(guān)系的第一待編排虛擬資源和第二待編排虛擬資源的配置參數(shù)和關(guān)系指示信息,其中,第一待編排虛擬資源和第二待編排虛擬資源均可以為虛擬機(jī)或容器,使得虛擬資源編排裝置可以基于第一待編排虛擬資源和第二待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第一虛擬資源和第二虛擬資源,因此,技術(shù)人員僅編輯一個(gè)編排模板就能夠?qū)崿F(xiàn)虛擬機(jī)和容器的混合創(chuàng)建,從而提高了節(jié)點(diǎn)部署的效率,簡(jiǎn)化了節(jié)點(diǎn)部署的流程。此外,第一待編排虛擬資源的關(guān)系指示信息用于指示第一待編排虛擬資源的指定參數(shù)被依賴,第二待編排虛擬資源的關(guān)系指示信息用于指示第二待編排虛擬資源依賴于第一待編排虛擬資源的指定參數(shù),也即是,第一待編排虛擬資源的關(guān)系指示信息和第二待編排虛擬資源的關(guān)系指示信息可以聯(lián)合指示第二待編排虛擬資源依賴于第一待編排虛擬資源的指定參數(shù),虛擬資源編排裝置在創(chuàng)建了第一虛擬資源和第二虛擬資源后,可以基于第一待編排虛擬資源的關(guān)系指示信息和第二待編排虛擬資源的關(guān)系指示信息,將第一虛擬資源中的指定參數(shù)的參數(shù)值傳輸至第二虛擬資源中,從而使得技術(shù)人員不需要根據(jù)虛擬機(jī)和容器的依賴關(guān)系對(duì)虛擬機(jī)和容器的創(chuàng)建過(guò)程進(jìn)行人工干預(yù),從而提高了節(jié)點(diǎn)部署的效率,簡(jiǎn)化了節(jié)點(diǎn)部署的流程。
圖3是本發(fā)明實(shí)施例提供一種虛擬資源編排裝置300的結(jié)構(gòu)框圖,如圖3所示,該虛擬資源編排裝置300包括:獲取模塊301、創(chuàng)建模塊302和參數(shù)值傳輸模塊303。
該獲取模塊301,用于執(zhí)行上述實(shí)施例中步驟201的技術(shù)過(guò)程。
該創(chuàng)建模塊302,用于執(zhí)行上述實(shí)施例中步驟202和步驟203的技術(shù)過(guò)程。
該參數(shù)值傳輸模塊303,用于執(zhí)行上述實(shí)施例中步驟204的技術(shù)過(guò)程。
綜上所述,本發(fā)明實(shí)施例提供的虛擬資源編排裝置,通過(guò)獲取編排模板中存在依賴關(guān)系的第一待編排虛擬資源和第二待編排虛擬資源的配置參數(shù)和關(guān)系指示信息,其中,第一待編排虛擬資源和第二待編排虛擬資源均可以為虛擬機(jī)或容器,使得虛擬資源編排裝置可以基于第一待編排虛擬資源和第二待編排虛擬資源的配置參數(shù)創(chuàng)建對(duì)應(yīng)的第一虛擬資源和第二虛擬資源,因此,技術(shù)人員僅編輯一個(gè)編排模板就能夠?qū)崿F(xiàn)虛擬機(jī)和容器的混合創(chuàng)建,從而提高了節(jié)點(diǎn)部署的效率,簡(jiǎn)化了節(jié)點(diǎn)部署的流程。此外,第一待編排虛擬資源的關(guān)系指示信息用于指示第一待編排虛擬資源的指定參數(shù)被依賴,第二待編排虛擬資源的關(guān)系指示信息用于指示第二待編排虛擬資源依賴于第一待編排虛擬資源的指定參數(shù),也即是,第一待編排虛擬資源的關(guān)系指示信息和第二待編排虛擬資源的關(guān)系指示信息可以聯(lián)合指示第二待編排虛擬資源依賴于第一待編排虛擬資源的指定參數(shù),虛擬資源編排裝置在創(chuàng)建了第一虛擬資源和第二虛擬資源后,可以基于第一待編排虛擬資源的關(guān)系指示信息和第二待編排虛擬資源的關(guān)系指示信息,將第一虛擬資源中的指定參數(shù)的參數(shù)值傳輸至第二虛擬資源中,從而使得技術(shù)人員不需要根據(jù)虛擬機(jī)和容器的依賴關(guān)系對(duì)虛擬機(jī)和容器的創(chuàng)建過(guò)程進(jìn)行人工干預(yù),從而提高了節(jié)點(diǎn)部署的效率,簡(jiǎn)化了節(jié)點(diǎn)部署的流程。
需要說(shuō)明的是:上述實(shí)施例提供的虛擬資源編排裝置在編排虛擬資源時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的虛擬資源編排裝置與虛擬資源編排方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
以上所述僅為本申請(qǐng)的可選實(shí)施例,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的保護(hù)范圍之內(nèi)。