應(yīng)用部署方法和云計(jì)算系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用部署方法和云計(jì)算系統(tǒng)。
【背景技術(shù)】
[0002]云計(jì)算(Cloud Computing)是網(wǎng)格計(jì)算(Grid Computing)、分布式計(jì)算(Distributed Computing)、并行計(jì)算(Parallel Computing)、效用計(jì)算(UtilityComputing)、網(wǎng)絡(luò)存儲(chǔ)(Network Storage Technologies)、虛擬化(Virtualizat1n)、負(fù)載均衡(Load Balance)等傳統(tǒng)計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物;它旨在通過網(wǎng)絡(luò)把多個(gè)成本相對(duì)較低的計(jì)算實(shí)體整合成一個(gè)具有強(qiáng)大計(jì)算能力的完美系統(tǒng),并借助SaaS(Software-as-a-service)、PaaS(Platform-as-a_Service)、IaaS(Infrastructure as aService)、MSP(Managed Service Provider)等先進(jìn)的商業(yè)模式,把這強(qiáng)大的計(jì)算能力分布到終端用戶手中。
[0003]在云計(jì)算興起的環(huán)境下,應(yīng)用(APP)托管的模式逐漸成為趨勢,開源PaaS平臺(tái)的Cloud Foundry得到了廣泛的肯定,PaaS服務(wù)提供商把服務(wù)器平臺(tái)作為一種服務(wù),使中小型企業(yè)和普通用戶能夠快速部署、配置和使用應(yīng)用。在這種服務(wù)模式中,用戶不需要購買硬件和軟件,只需要利用PaaS平臺(tái)系統(tǒng),就能夠創(chuàng)建、測試和部署應(yīng)用和服務(wù),平臺(tái)可以支持Java EE、php、ruby on rails、python Django等開發(fā)框架的web應(yīng)用程序,同時(shí)可以在平臺(tái)上完成web應(yīng)用的全生命周期管理。
[0004]而在實(shí)際應(yīng)用中,云計(jì)算平臺(tái)一般采用虛擬機(jī)作為應(yīng)用部署環(huán)境,但虛擬機(jī)創(chuàng)建速度慢,性能有一定損耗,服務(wù)器能創(chuàng)建虛擬機(jī)數(shù)量較少,應(yīng)用部署效率和密度低,虛擬化的性能耗損較大。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)上述技術(shù)問題,提供一種應(yīng)用部署方法和云計(jì)算系統(tǒng),提高應(yīng)用部署效率和密度,同時(shí)減少虛擬化的性能耗損。
[0006]—種應(yīng)用部署方法,包括如下步驟:
[0007]資源管理組件在資源節(jié)點(diǎn)上安裝容器環(huán)境,并上傳預(yù)設(shè)的應(yīng)用運(yùn)行環(huán)境鏡像和應(yīng)用的啟動(dòng)腳本;
[0008]控制組件接收管理平臺(tái)的創(chuàng)建應(yīng)用請求后,發(fā)送應(yīng)用部署請求后至資源節(jié)點(diǎn)上的資源管理組件,資源管理組件在所述容器環(huán)境中查找相應(yīng)的應(yīng)用運(yùn)行環(huán)境鏡像,并啟動(dòng)一個(gè)容器;將應(yīng)用部署請求中的應(yīng)用信息拷貝到所述容器內(nèi),運(yùn)行所述啟動(dòng)腳本部署所述應(yīng)用。
[0009]—種云計(jì)算系統(tǒng),包括:
[0010]管理平臺(tái),用于接收用戶的創(chuàng)建應(yīng)用請求;
[0011]安裝在控制節(jié)點(diǎn)上的控制組件,用于管理資源節(jié)點(diǎn)、監(jiān)控資源節(jié)點(diǎn)的資源使用狀態(tài)以及處理用戶的請求;
[0012]安裝在資源節(jié)點(diǎn)上的資源管理組件,用于在資源節(jié)點(diǎn)上安裝容器環(huán)境,并上傳預(yù)設(shè)的應(yīng)用運(yùn)行環(huán)境鏡像和應(yīng)用的操作腳本,接收控制組件發(fā)送的應(yīng)用部署請求,在所述容器環(huán)境中查找相應(yīng)的應(yīng)用運(yùn)行環(huán)境鏡像,并啟動(dòng)一個(gè)容器;將應(yīng)用部署請求中的應(yīng)用信息拷貝到所述容器內(nèi),運(yùn)行所述啟動(dòng)腳本部署所述應(yīng)用。
[0013]上述應(yīng)用部署方法和云計(jì)算系統(tǒng),由資源管理組件在資源節(jié)點(diǎn)上安裝容器環(huán)境并預(yù)設(shè)應(yīng)用運(yùn)行環(huán)境鏡像和應(yīng)用的啟動(dòng)腳本;根據(jù)應(yīng)用部署請求后在容器環(huán)境中查找相應(yīng)的應(yīng)用運(yùn)行環(huán)境鏡像,將應(yīng)用信息拷貝到所述容器內(nèi),運(yùn)行通過啟動(dòng)腳本直接運(yùn)行該鏡像即可部署應(yīng)用,無需另外安裝應(yīng)用環(huán)境。該方案基于進(jìn)程容器的輕量級(jí)虛擬化方案,在一臺(tái)宿主機(jī)上可以啟動(dòng)的容器進(jìn)程數(shù)量遠(yuǎn)大于可啟動(dòng)的虛擬機(jī)數(shù)量,可以提升應(yīng)用部署的密度,提高資源使用效率。同時(shí)將應(yīng)用部署到容器中,也可以提高應(yīng)用部署的速度。而且可以直接在宿主平臺(tái)上加載運(yùn)行應(yīng)用程序,也減少了性能的損耗。
【附圖說明】
[0014]圖1為本發(fā)明應(yīng)用部署方法流程圖;
[0015]圖2為另一實(shí)施例的本發(fā)明應(yīng)用部署方法流程圖;
[0016]圖3為本發(fā)明的云計(jì)算系統(tǒng)的結(jié)構(gòu)示意圖;
[0017]圖4為一應(yīng)用實(shí)例的云計(jì)算系統(tǒng)執(zhí)行工作流程圖;
[0018]圖5為一應(yīng)用實(shí)例的云計(jì)算系統(tǒng)的資源管理組件和控制組件的工作原理圖。
【具體實(shí)施方式】
[0019]下面結(jié)合附圖等對(duì)本發(fā)明的應(yīng)用部署方法和云計(jì)算系統(tǒng)的實(shí)施例進(jìn)行描述。
[0020]參考圖1所示,圖1為本發(fā)明應(yīng)用部署方法流程圖,包括如下步驟:
[0021]S101,資源管理組件在資源節(jié)點(diǎn)上安裝容器環(huán)境;
[0022]S102,資源管理組件上傳預(yù)設(shè)的應(yīng)用運(yùn)行環(huán)境鏡像和應(yīng)用的啟動(dòng)腳本;
[0023]S103,控制組件接收管理平臺(tái)的創(chuàng)建應(yīng)用請求;
[0024]S104,控制組件發(fā)送應(yīng)用部署請求后至資源節(jié)點(diǎn)上的資源管理組件;
[0025]S105,資源管理組件在所述容器環(huán)境中查找相應(yīng)的應(yīng)用運(yùn)行環(huán)境鏡像,并啟動(dòng)一個(gè)容器;
[0026]S106,資源管理組件將應(yīng)用部署請求中的應(yīng)用信息拷貝到所述容器內(nèi),運(yùn)行所述啟動(dòng)腳本部署所述應(yīng)用。
[0027]本發(fā)明應(yīng)用部署方法,由資源管理組件在資源節(jié)點(diǎn)上安裝容器環(huán)境并預(yù)設(shè)應(yīng)用運(yùn)行環(huán)境鏡像和應(yīng)用的啟動(dòng)腳本;根據(jù)應(yīng)用部署請求后在容器環(huán)境中查找相應(yīng)的應(yīng)用運(yùn)行環(huán)境鏡像,將應(yīng)用信息拷貝到所述容器內(nèi),運(yùn)行通過啟動(dòng)腳本直接運(yùn)行該鏡像即可部署應(yīng)用,無需另外安裝應(yīng)用環(huán)境。該方案基于進(jìn)程容器的輕量級(jí)虛擬化方案,在一臺(tái)宿主機(jī)上可以啟動(dòng)的容器進(jìn)程數(shù)量遠(yuǎn)大于可啟動(dòng)的虛擬機(jī)數(shù)量,可以提升應(yīng)用部署的密度,提高資源使用效率。同時(shí)將應(yīng)用部署到容器中,也可以提高應(yīng)用部署的速度。而且可以直接在宿主平臺(tái)上加載運(yùn)行應(yīng)用程序,也減少了性能的損耗。
[0028]在一個(gè)實(shí)施例中,參考圖2所示,圖2為另一實(shí)施例的本發(fā)明應(yīng)用部署方法流程圖,在應(yīng)用部署成功后,還包括如下步驟:
[0029]S107,所述資源管理組件將所述資源節(jié)點(diǎn)最新的資源使用狀態(tài)信息發(fā)送至控制組件;
[0030]S108,控制組件更新記錄的資源使用狀態(tài)信息并通過管理平臺(tái)展示所述部署的應(yīng)用。
[0031 ]在一個(gè)實(shí)施例中,如圖2所示,本發(fā)明應(yīng)用部署方法,還可以包括如下步驟:
[0032]S100,所述管理平臺(tái)獲取用戶輸入的應(yīng)用名稱、設(shè)置應(yīng)用所需的存儲(chǔ)空間、上傳應(yīng)用的代碼文件以及設(shè)置應(yīng)用運(yùn)行環(huán)境的請求信息,并發(fā)送至控制組件。
[0033]作為一種實(shí)施方式,所述控制組件可以通過管理平臺(tái)接收用戶的創(chuàng)建應(yīng)用請求,根據(jù)所述創(chuàng)建應(yīng)用請求獲取應(yīng)用的代碼文件;根據(jù)應(yīng)用所需的存儲(chǔ)空間查找控制組件記錄的資源節(jié)點(diǎn)的資源使用狀態(tài),選擇負(fù)載最低的資源節(jié)點(diǎn)為應(yīng)用部署的資源節(jié)點(diǎn);并根據(jù)代碼文件將生成應(yīng)用部署請求發(fā)送到該資源節(jié)點(diǎn)的資源管理組件。
[0034]作為一種實(shí)施方式,進(jìn)一步的,所述控制組件可以將應(yīng)用的代碼文件和預(yù)設(shè)的啟動(dòng)腳本、關(guān)閉腳本打包成應(yīng)用壓縮包;根據(jù)應(yīng)用所需的內(nèi)存、磁盤大小查找控制組件記錄的資源節(jié)點(diǎn)的資源使用狀態(tài)符合條件的資源節(jié)點(diǎn),根據(jù)所述應(yīng)用壓縮包生成應(yīng)用部署請求發(fā)送到所述選擇的資源管理組件。
[0035]作為一種實(shí)施方式,進(jìn)一步的,資源管理組件收到應(yīng)用部署請求后,可以根據(jù)用戶選擇的應(yīng)用運(yùn)行環(huán)境查找對(duì)應(yīng)的應(yīng)用運(yùn)行環(huán)境鏡像;通過所述應(yīng)用運(yùn)行環(huán)境鏡像啟動(dòng)一個(gè)容器,將應(yīng)用部署請求中的應(yīng)用壓縮包拷貝到所述容器內(nèi)的指定目錄,在容器內(nèi)解壓所述應(yīng)用壓縮包,查找并運(yùn)行所述啟動(dòng)腳本部署所述應(yīng)用。
[0036]參考圖3所示,圖3為本發(fā)明的云計(jì)算系統(tǒng)的結(jié)構(gòu)示意圖,包括:
[0037]管理平臺(tái),用于接收用戶的創(chuàng)建應(yīng)用請求;
[0038]安裝在控制節(jié)點(diǎn)上的控制組件,用于管理資源節(jié)點(diǎn)、監(jiān)控資源節(jié)點(diǎn)的資源使用狀態(tài)以及處理用戶的請求;
[0039]安裝在資源節(jié)點(diǎn)上的資源管理組件,用于在資源節(jié)點(diǎn)上安裝容器環(huán)境,并上傳預(yù)設(shè)的應(yīng)用運(yùn)行環(huán)境鏡像和應(yīng)用的操作腳本,接收控制組件發(fā)送的應(yīng)用部署請求,在所述容器環(huán)境中查找相應(yīng)的應(yīng)用運(yùn)行環(huán)境鏡像,并啟動(dòng)一個(gè)容器;將應(yīng)用部署請求中的應(yīng)用信息拷貝到所述容器內(nèi),運(yùn)行所述啟動(dòng)腳本部署所述應(yīng)用。
[0040]本發(fā)明的云計(jì)算系統(tǒng),由資源管理組件在資源節(jié)點(diǎn)上安裝容器環(huán)境并預(yù)設(shè)應(yīng)用運(yùn)行環(huán)境鏡像和應(yīng)用的啟動(dòng)腳本;根據(jù)應(yīng)用部署請求后在容器環(huán)境中查找相應(yīng)的應(yīng)用運(yùn)行環(huán)境鏡像,將應(yīng)用信息拷貝到所述容器內(nèi),運(yùn)行通過啟動(dòng)腳本直接運(yùn)行該鏡像即可部署應(yīng)用,無需另外安裝應(yīng)用環(huán)境。該方案基于進(jìn)程容器的輕量級(jí)虛擬化方案,在一臺(tái)宿主機(jī)上可以啟動(dòng)的容器進(jìn)程數(shù)量遠(yuǎn)大于可啟動(dòng)的虛擬機(jī)數(shù)量,可以提升應(yīng)用部署的密度,提高資源使用效率。同時(shí)將應(yīng)用部署到容器中,也可以提高應(yīng)用部署的速度。而且可以直接在宿主平臺(tái)上加載運(yùn)行應(yīng)用程序,也減少了性能的損耗。
[0041]在一個(gè)實(shí)施例中,本發(fā)明的云計(jì)算系統(tǒng),在應(yīng)用部署成功后,所述資源管理組件將所述資源節(jié)點(diǎn)最新的資源使用狀態(tài)信息發(fā)送至控制組件,控制組件更新記錄的資源使用狀態(tài)信息并通過管理平臺(tái)展示所述部署的應(yīng)用。
[0042]在一個(gè)實(shí)施例中,本發(fā)明的云計(jì)算系統(tǒng),所述管理平臺(tái)獲取用戶輸入的應(yīng)用名稱、設(shè)置應(yīng)用所需的存儲(chǔ)空間、上傳應(yīng)用的代碼文件以及設(shè)置應(yīng)用運(yùn)行環(huán)境的請求信息,并發(fā)送至控制組件。
[0043]作為一種實(shí)施方式,本發(fā)明的云計(jì)算系統(tǒng),所述管理平臺(tái)接收用戶的創(chuàng)建應(yīng)用請求;所述控制組件根據(jù)所述創(chuàng)建應(yīng)用請求獲取應(yīng)用的代碼文件;根據(jù)應(yīng)用所需的存儲(chǔ)空間查找控制組件記錄的資源節(jié)點(diǎn)的資源使用狀態(tài),選擇負(fù)載最低的資源節(jié)點(diǎn)為應(yīng)用部署的資源節(jié)點(diǎn);并根據(jù)代碼文件將生成應(yīng)用部署請求發(fā)送到該資源節(jié)點(diǎn)的資源管理組件