本申請(qǐng)涉及云計(jì)算,特別是涉及一種基于集群的多版本兼容方法、設(shè)備以及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著云原生技術(shù)的不斷發(fā)展,傳統(tǒng)業(yè)務(wù)不斷云化上云,整體業(yè)務(wù)環(huán)境也變得越來(lái)越復(fù)雜。
2、不同用戶對(duì)云系統(tǒng)kubernetes的使用版本都有不同的要求,并且隨著kubernetes的發(fā)布版本越來(lái)越多,用戶對(duì)多版本的使用兼容、甚至對(duì)使用版本無(wú)感化兼容的要求也越來(lái)越高。
3、目前在原生的云技術(shù)kubernetes中,多集群技術(shù)使用已經(jīng)很廣泛,在不同集群中使用不同版本的場(chǎng)景也很普遍,但是往往一個(gè)集群中只局限于使用一種版本,且用戶需要獲悉并告知服務(wù)端需要使用的kubernetes版本,進(jìn)而使用對(duì)應(yīng)版本的api應(yīng)用接口去請(qǐng)求服務(wù)端提供服務(wù)。由于云原生場(chǎng)景的耦合性過(guò)強(qiáng),每當(dāng)服務(wù)端kubernetes版本發(fā)生變化時(shí),用戶就需要對(duì)其api進(jìn)行兼容適配。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)至少提供一種基于集群的多版本兼容方法、裝置、設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
2、本申請(qǐng)第一方面提供了一種基于集群的多版本兼容方法,所述方法應(yīng)用于多版本兼容設(shè)備,所述多版本兼容設(shè)備與集群服務(wù)端通訊連接,所述多版本兼容設(shè)備與客戶端通訊連接,包括:響應(yīng)于接收到所述客戶端發(fā)送的任務(wù)請(qǐng)求,根據(jù)所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果;響應(yīng)于所述對(duì)比結(jié)果表征所述集群服務(wù)端中不存在所述目標(biāo)集群版本,則從所述集群服務(wù)端的各集群中確定目標(biāo)兼容集群,所述目標(biāo)兼容集群的兼容版本兼容所述目標(biāo)集群版本;根據(jù)所述兼容版本對(duì)所述任務(wù)請(qǐng)求進(jìn)行轉(zhuǎn)換處理,得到兼容請(qǐng)求;將所述兼容請(qǐng)求發(fā)送至所述目標(biāo)兼容集群進(jìn)行請(qǐng)求響應(yīng)。
3、在一實(shí)施例中,所述根據(jù)所述兼容版本對(duì)所述任務(wù)請(qǐng)求進(jìn)行轉(zhuǎn)換處理,得到兼容請(qǐng)求,包括:獲取所述目標(biāo)集群版本和所述兼容版本之間的預(yù)設(shè)轉(zhuǎn)換邏輯;根據(jù)所述預(yù)設(shè)轉(zhuǎn)換邏輯對(duì)所述任務(wù)請(qǐng)求的請(qǐng)求路徑信息進(jìn)行轉(zhuǎn)換處理,得到所述兼容請(qǐng)求。
4、在一實(shí)施例中,在所述響應(yīng)于接收到所述客戶端發(fā)送的任務(wù)請(qǐng)求,根據(jù)所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果之前,所述方法還包括:獲取各個(gè)集群的接口信息;對(duì)比各個(gè)接口信息,得到各個(gè)集群之間的接口差異;根據(jù)所述接口差異確定各個(gè)集群中支持轉(zhuǎn)換處理的兼容集群。
5、在一實(shí)施例中,在所述對(duì)比各個(gè)接口信息,得到各個(gè)集群的接口差異之后,所述方法還包括:根據(jù)所述接口差異確定各個(gè)集群中不支持轉(zhuǎn)換處理的待兼容集群;響應(yīng)于接收到的針對(duì)所述待兼容集群的兼容程序開(kāi)發(fā)指令,生成所述待兼容集群的兼容程序,所述兼容程序用于對(duì)所述任務(wù)請(qǐng)求進(jìn)行轉(zhuǎn)換處理。
6、在一實(shí)施例中,在所述根據(jù)所述接口差異確定各個(gè)集群中支持轉(zhuǎn)換處理的兼容集群之后,所述方法還包括:建立各個(gè)兼容集群的兼容映射關(guān)系;響應(yīng)于接收到的所述任務(wù)請(qǐng)求,且所述集群服務(wù)端中不存在所述目標(biāo)集群版本,則根據(jù)所述目標(biāo)集群版本和所述兼容映射關(guān)系,在各個(gè)兼容集群中查找所述目標(biāo)兼容集群。
7、在一實(shí)施例中,在所述響應(yīng)于接收到所述客戶端發(fā)送的任務(wù)請(qǐng)求,根據(jù)所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果之后,所述方法還包括:響應(yīng)于所述對(duì)比結(jié)果表征各個(gè)集群中存在所述目標(biāo)集群版本對(duì)應(yīng)的目標(biāo)集群,獲取所述目標(biāo)集群的第一運(yùn)行負(fù)載;對(duì)比所述第一運(yùn)行負(fù)載與所述目標(biāo)集群的第一負(fù)載閾值;響應(yīng)于所述第一運(yùn)行負(fù)載大于所述第一負(fù)載閾值,識(shí)別各個(gè)集群中與所述目標(biāo)集群版本對(duì)應(yīng)的目標(biāo)兼容集群。
8、在一實(shí)施例中,所述響應(yīng)于所述第一運(yùn)行負(fù)載大于所述第一負(fù)載閾值,識(shí)別各個(gè)集群中與所述目標(biāo)集群版本對(duì)應(yīng)的目標(biāo)兼容集群,包括:響應(yīng)于所述第一運(yùn)行負(fù)載大于所述第一負(fù)載閾值,獲取所述目標(biāo)集群版本對(duì)應(yīng)的各個(gè)兼容集群的第二運(yùn)行負(fù)載;將所述第二運(yùn)行負(fù)載小于或等于第二負(fù)載閾值的兼容集群確定為所述目標(biāo)兼容集群。
9、在一實(shí)施例中,在所述響應(yīng)于接收到所述客戶端發(fā)送的任務(wù)請(qǐng)求,根據(jù)所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果之前,所述方法還包括:檢測(cè)當(dāng)前集群場(chǎng)景為單集群場(chǎng)景或多集群場(chǎng)景;所述響應(yīng)于接收到所述客戶端發(fā)送的任務(wù)請(qǐng)求,根據(jù)所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果,包括:響應(yīng)于所述當(dāng)前集群場(chǎng)景為多集群場(chǎng)景且接收到所述任務(wù)請(qǐng)求,將所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與各個(gè)集群的當(dāng)前集群版本進(jìn)行對(duì)比,得到所述對(duì)比結(jié)果。
10、本申請(qǐng)第二方面提供了一種基于集群的多版本兼容裝置,包括:版本對(duì)比模塊,用于響應(yīng)于接收到所述客戶端發(fā)送的任務(wù)請(qǐng)求,根據(jù)所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果;兼容確定模塊,用于響應(yīng)于所述對(duì)比結(jié)果表征所述集群服務(wù)端中不存在所述目標(biāo)集群版本,則從所述集群服務(wù)端的各集群中確定目標(biāo)兼容集群,所述目標(biāo)兼容集群的兼容版本兼容所述目標(biāo)集群版本;請(qǐng)求轉(zhuǎn)換模塊,用于述兼容版本對(duì)所述任務(wù)請(qǐng)求進(jìn)行轉(zhuǎn)換處理,得到兼容請(qǐng)求;請(qǐng)求發(fā)送模塊,用于將所述兼容請(qǐng)求發(fā)送至所述目標(biāo)兼容集群進(jìn)行請(qǐng)求響應(yīng)。
11、本申請(qǐng)第三方面提供了一種電子設(shè)備,包括存儲(chǔ)器和處理器,處理器用于執(zhí)行存儲(chǔ)器中存儲(chǔ)的程序指令,以實(shí)現(xiàn)上述基于集群的多版本兼容方法。
12、本申請(qǐng)第四方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有程序指令,程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述基于集群的多版本兼容方法。
13、上述方案,在接收到客戶端發(fā)送的任務(wù)請(qǐng)求時(shí),可以通過(guò)任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果,由此判斷當(dāng)前的集群服務(wù)端中是否存在能夠直接處理任務(wù)請(qǐng)求的目標(biāo)集群;響應(yīng)于所述對(duì)比結(jié)果表征所述集群服務(wù)端中不存在所述目標(biāo)集群版本,則當(dāng)前的集群服務(wù)端中的集群無(wú)法直接處理該任務(wù)請(qǐng)求,需要從所述集群服務(wù)端的各集群中確定能夠兼容目標(biāo)集群的目標(biāo)兼容集群,所述目標(biāo)兼容集群的兼容版本兼容所述目標(biāo)集群的目標(biāo)集群版本;根據(jù)所述兼容版本對(duì)所述任務(wù)請(qǐng)求進(jìn)行轉(zhuǎn)換處理,得到目標(biāo)兼容集群能夠處理的兼容請(qǐng)求;將所述兼容請(qǐng)求發(fā)送至所述目標(biāo)兼容集群進(jìn)行請(qǐng)求響應(yīng),由此能夠使得用戶在請(qǐng)求集群服務(wù)時(shí)無(wú)需指定集群版本,實(shí)現(xiàn)多版本多集群之間的無(wú)感兼容。
14、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,而非限制本申請(qǐng)。
1.一種基于集群的多版本兼容方法,其特征在于,所述方法應(yīng)用于多版本兼容設(shè)備,所述多版本兼容設(shè)備與集群服務(wù)端通訊連接,所述多版本兼容設(shè)備與客戶端通訊連接,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述兼容版本對(duì)所述任務(wù)請(qǐng)求進(jìn)行轉(zhuǎn)換處理,得到兼容請(qǐng)求,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述響應(yīng)于接收到所述客戶端發(fā)送的任務(wù)請(qǐng)求,根據(jù)所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果之前,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述對(duì)比各個(gè)接口信息,得到各個(gè)集群的接口差異之后,所述方法還包括:
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,在所述根據(jù)所述接口差異確定各個(gè)集群中支持轉(zhuǎn)換處理的兼容集群之后,所述方法還包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述響應(yīng)于接收到所述客戶端發(fā)送的任務(wù)請(qǐng)求,根據(jù)所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果之后,所述方法還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述響應(yīng)于所述第一運(yùn)行負(fù)載大于所述第一負(fù)載閾值,識(shí)別各個(gè)集群中與所述目標(biāo)集群版本對(duì)應(yīng)的目標(biāo)兼容集群,包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述響應(yīng)于接收到所述客戶端發(fā)送的任務(wù)請(qǐng)求,根據(jù)所述任務(wù)請(qǐng)求中的目標(biāo)集群版本與所述集群服務(wù)端中集群的當(dāng)前集群版本進(jìn)行版本對(duì)比處理,得到對(duì)比結(jié)果之前,所述方法還包括:
9.一種電子設(shè)備,其特征在于,包括存儲(chǔ)器和處理器,所述處理器用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序指令,以實(shí)現(xiàn)權(quán)利要求1至8任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有程序指令,其特征在于,所述程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至8任一項(xiàng)所述的方法。