本申請(qǐng)涉及信息安全,具體涉及容器信息獲取方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、相關(guān)技術(shù)中,獲取設(shè)備中運(yùn)行的容器的基礎(chǔ)信息的方式通常需要先獲知目標(biāo)容器平臺(tái)或管理工具提供的restful?api(api,application?programming?interface,應(yīng)用程序編程接口,restful?api表示性狀態(tài)轉(zhuǎn)移應(yīng)用程序接口),以向該api發(fā)送包括必要的認(rèn)證信息(如api密鑰或令牌)以及請(qǐng)求參數(shù)(如容器id或名稱)的請(qǐng)求,該api所屬服務(wù)器接收到請(qǐng)求后,會(huì)返回相應(yīng)的響應(yīng),該響應(yīng)通常包含容器的詳細(xì)信息,如容器狀態(tài)、配置、資源使用情況等??蛻舳诵枰馕鲰憫?yīng)內(nèi)容,提取所需的容器基礎(chǔ)信息,但是采用這種方式來獲取設(shè)備中運(yùn)行的容器的基礎(chǔ)信息網(wǎng)絡(luò)延遲和api調(diào)用的潛在錯(cuò)誤,進(jìn)而會(huì)導(dǎo)致獲取容器基礎(chǔ)信息時(shí)存在實(shí)時(shí)性差和不夠準(zhǔn)確的問題。
技術(shù)實(shí)現(xiàn)思路
1、鑒于以上問題,本申請(qǐng)?zhí)峁┮环N容器信息獲取方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì),能夠有效避免網(wǎng)絡(luò)延遲和api調(diào)用的潛在錯(cuò)誤,提升了容器信息獲取的實(shí)時(shí)性和準(zhǔn)確性。
2、本申請(qǐng)實(shí)施例是采用以下技術(shù)方案來實(shí)現(xiàn)的:
3、第一方面,本申請(qǐng)實(shí)施例提供了一種容器信息獲取方法,所述方法包括:獲取目標(biāo)設(shè)備的命名空間、該目標(biāo)設(shè)備中運(yùn)行的目標(biāo)進(jìn)程的命名空間,以及運(yùn)行該目標(biāo)進(jìn)程的控制組的特征信息,所述特征信息包括目標(biāo)容器id;基于所述目標(biāo)設(shè)備的命名空間與所述目標(biāo)進(jìn)程的命名空間,確定所述目標(biāo)進(jìn)程的類型;若所述目標(biāo)進(jìn)程的類型為容器進(jìn)程,基于所述目標(biāo)容器id獲得該目標(biāo)容器id所屬目標(biāo)容器的基礎(chǔ)信息。
4、第二方面,本申請(qǐng)實(shí)施例提供了一種容器信息獲取裝置,所述裝置包括:第一信息獲取模塊,用于獲取目標(biāo)設(shè)備的命名空間、該目標(biāo)設(shè)備中運(yùn)行的目標(biāo)進(jìn)程的命名空間,以及運(yùn)行該目標(biāo)進(jìn)程的控制組的特征信息,所述特征信息包括目標(biāo)容器id;進(jìn)程類型確定模塊,用于基于所述目標(biāo)設(shè)備的命名空間與所述目標(biāo)進(jìn)程的命名空間,確定所述目標(biāo)進(jìn)程的類型;容器信息獲取模塊,用于在所述目標(biāo)進(jìn)程的類型為容器進(jìn)程時(shí),基于所述目標(biāo)容器id獲得該目標(biāo)容器id所屬目標(biāo)容器的基礎(chǔ)信息。
5、在一些實(shí)施方式中,進(jìn)程類型確定模塊,還用于將所述目標(biāo)設(shè)備的命名空間與所述目標(biāo)進(jìn)程的命名空間進(jìn)行匹配,得到匹配結(jié)果;根據(jù)匹配結(jié)果確定所述目標(biāo)進(jìn)程的類型,其中,在所述目標(biāo)設(shè)備的命名空間與所述目標(biāo)進(jìn)程的命名空間匹配時(shí),所述目標(biāo)進(jìn)程的類型為非容器進(jìn)程;在所述目標(biāo)設(shè)備的命名空間與所述目標(biāo)進(jìn)程的命名空間不匹配時(shí),所述目標(biāo)進(jìn)程的類型為容器進(jìn)程。
6、在一些實(shí)施方式中,所述命名空間為多個(gè),每個(gè)命名空間的類型不同;進(jìn)程類型確定模塊,還用于將所述目標(biāo)設(shè)備的多個(gè)命名空間與所述目標(biāo)進(jìn)程的多個(gè)命名空間中屬于相同類型的命名空間進(jìn)行匹配,得到每種類型的命名空間的匹配結(jié)果;若存在至少一個(gè)類型的命名空間的匹配結(jié)果為不匹配,則確定所述目標(biāo)進(jìn)程的類型為容器進(jìn)程。
7、在一些實(shí)施方式中,容器信息獲取模塊,還用于從目標(biāo)設(shè)備中預(yù)存的多個(gè)id容器分別對(duì)應(yīng)的配置信息中查找與所述目標(biāo)容器id對(duì)應(yīng)的配置信息。
8、在一些實(shí)施方式中,所述目標(biāo)容器id所屬目標(biāo)容器的基礎(chǔ)信息包括容器的根目錄、容器的鏡像id以及容器類型。
9、在一些實(shí)施方式中,裝置還包括進(jìn)程復(fù)制模塊、目錄修改模塊、第二信息獲取模塊、進(jìn)程調(diào)整模塊以及資產(chǎn)信息獲取模塊。進(jìn)程復(fù)制模塊,用于復(fù)制所述目標(biāo)設(shè)備中的容器管理進(jìn)程,得到該容器管理進(jìn)程的子進(jìn)程;目錄修改模塊,用于將所述子進(jìn)程的根目錄修改為所述目標(biāo)容器的根目錄,得到第一子進(jìn)程;第二信息獲取模塊,用于由所述第一子進(jìn)程獲取所述目標(biāo)容器內(nèi)的環(huán)境變量和信息獲取文件;進(jìn)程調(diào)整模塊,用于將所述第一子進(jìn)程的環(huán)境變量調(diào)整為所述目標(biāo)容器內(nèi)的環(huán)境變量,得到目標(biāo)子進(jìn)程;資產(chǎn)信息獲取模塊,用于由所述目標(biāo)子進(jìn)程基于所述信息獲取文件獲得所述目標(biāo)容器的基礎(chǔ)資產(chǎn)信息。
10、進(jìn)一步的,所述信息獲取文件包括命令執(zhí)行文件和軟鏈接,資產(chǎn)信息獲取模塊,用于由所述目標(biāo)子進(jìn)程執(zhí)行所述命令執(zhí)行文件得到命令執(zhí)行結(jié)果,由所述目標(biāo)子進(jìn)程對(duì)所述軟鏈接進(jìn)行解析,得到解析結(jié)果;從所述命令執(zhí)行結(jié)果和所述解析結(jié)果所指向的文件中獲取所述目標(biāo)容器的基礎(chǔ)資產(chǎn)信息。
11、在一些實(shí)施方式中,進(jìn)程復(fù)制子模塊,用于由系統(tǒng)調(diào)用函數(shù)調(diào)用所述目標(biāo)設(shè)備中的容器管理進(jìn)程,創(chuàng)建該容器管理進(jìn)程的子進(jìn)程。
12、第三方面,本申請(qǐng)實(shí)施例提供了一種電子設(shè)備,電子設(shè)備包括:一個(gè)或多個(gè)處理器;存儲(chǔ)器;一個(gè)或多個(gè)程序,其中所述一個(gè)或多個(gè)程序被存儲(chǔ)在所述存儲(chǔ)器中并被配置為由所述一個(gè)或多個(gè)處理器執(zhí)行,所述一個(gè)或多個(gè)程序配置用于執(zhí)行上述容器信息獲取方法。
13、第四方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有程序代碼,所述程序代碼可被處理器調(diào)用執(zhí)行上述容器信息獲取方法。
14、本申請(qǐng)實(shí)施例提供的容器信息獲取方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì);獲取目標(biāo)設(shè)備的命名空間、該目標(biāo)設(shè)備中運(yùn)行的目標(biāo)進(jìn)程的命名空間,以及運(yùn)行該目標(biāo)進(jìn)程的控制組的特征信息,所述特征信息包括目標(biāo)容器id;基于所述目標(biāo)設(shè)備的命名空間與所述目標(biāo)進(jìn)程的命名空間,確定所述目標(biāo)進(jìn)程的類型;若所述目標(biāo)進(jìn)程的類型為容器進(jìn)程,基于所述目標(biāo)容器id獲得該目標(biāo)容器id所屬目標(biāo)容器的基礎(chǔ)信息。通過采用本申請(qǐng)?zhí)峁┑姆椒?,使得這個(gè)的容器信息獲取過程在只目標(biāo)設(shè)備上執(zhí)行,無需通過請(qǐng)求來調(diào)用api,因此可以有效避免網(wǎng)絡(luò)延遲和api調(diào)用的潛在錯(cuò)誤,提升了容器信息獲取的實(shí)時(shí)性和準(zhǔn)確性。
15、本申請(qǐng)的這些方面或其他方面在以下實(shí)施例的描述中會(huì)更加簡明易懂。
1.一種容器信息獲取方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述目標(biāo)設(shè)備的命名空間與所述目標(biāo)進(jìn)程的命名空間,確定所述目標(biāo)進(jìn)程的類型,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述命名空間為多個(gè),每個(gè)命名空間的類型不同;
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述目標(biāo)容器id獲得該目標(biāo)容器id所屬目標(biāo)容器的基礎(chǔ)信息,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)容器id所屬目標(biāo)容器的基礎(chǔ)信息包括容器的根目錄、容器的鏡像id以及容器類型。
6.根據(jù)權(quán)利要求1-5中任意一項(xiàng)所述的方法,其特征在于,目標(biāo)容器id所屬目標(biāo)容器的基礎(chǔ)信息包括容器的根目錄,所述基于所述目標(biāo)容器id獲得該目標(biāo)容器id所屬目標(biāo)容器的基礎(chǔ)信息之后,所述方法還包括:
7.根據(jù)權(quán)利要求6所述方法,其特征在于,所述信息獲取文件包括命令執(zhí)行文件和軟鏈接,所述由所述目標(biāo)子進(jìn)程基于所述信息獲取文件獲得所述目標(biāo)容器的基礎(chǔ)資產(chǎn)信息,包括:
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述復(fù)制所述目標(biāo)設(shè)備中的容器管理進(jìn)程,得到該容器管理進(jìn)程的子進(jìn)程,包括:
9.一種容器信息獲取裝置,其特征在于,所述裝置包括:
10.一種電子設(shè)備,其特征在于,包括:
11.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有程序代碼,所述程序代碼可被處理器調(diào)用執(zhí)行如權(quán)利要求1-8中任意一項(xiàng)所述的方法。