System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機,特別是涉及一種虛擬機配置方法、裝置、計算機設備、存儲介質和計算機程序產品。
技術介紹
1、隨著云計算和容器技術的發展,kubernetes已經成為了業界的標準和領導者,為用戶提供了一個強大,靈活和可擴展的平臺,來部署和管理各種類型的應用。kubevirt是一個基于kubernetes的開源項目,它使得虛擬機可以像容器一樣被kubernetes?部署,消費和管理。它提供了一個統一的平臺,讓用戶可以根據不同的需求,使用容器或者虛擬機來構建云原生應用。
2、目前在kubevirt中可以通過多種配置服務對虛擬機進行網絡、密碼、開機命令等的配置。在進行配置時用戶需要提供配置服務對應的配置數據,并將配置數據嵌入到kubevirt創建的虛擬機對象中,以使得虛擬機對象初次啟動時可以根據配置數據進行虛擬機配置。在虛擬機較多或需要配置的內容較多時,由于虛擬機的操作系統、使用的配置服務等可能不同,用戶需要針對每個虛擬機的每個配置服務單獨生成配置數據,導致配置數據生成的效率較低,進而導致對虛擬機進行配置的效率也較低。
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種虛擬機配置方法、裝置、計算機設備、存儲介質和計算機程序產品。
2、第一方面,本申請提供了一種虛擬機配置方法。所述方法包括:
3、獲取虛擬機對象,所述虛擬機對象掛載有鏡像文件;
4、讀取所述虛擬機對象攜帶的參數信息,基于所述參數信息生成所述虛擬機對象中配置服務對應的配置數
5、將所述配置數據寫入至所述鏡像文件,得到目標鏡像文件;以使所述虛擬機對象啟動時,通過所述配置服務從所述目標鏡像文件中讀取所述配置數據,以進行虛擬機配置。
6、在其中一個實施例中,所述虛擬機對象是基于kubevirt平臺創建的,所述獲取虛擬機對象,包括:
7、通過準入webhook攔截所述kubevirt平臺下發的虛擬機對象變更事件;所述虛擬機對象變更事件至少包括創建事件和/或更新事件;
8、在攔截到所述虛擬機對象變更事件時,獲取所述虛擬機對象變更事件對應的所述虛擬機對象。
9、在其中一個實施例中,所述參數信息包括配置服務參數信息,所述基于所述參數信息生成所述虛擬機對象中配置服務對應的配置數據,包括:
10、基于所述配置服務參數信息,確定所述虛擬機對象對應的目標配置服務;
11、根據所述目標配置服務,生成所述虛擬機對象中配置服務對應的配置數據。
12、在其中一個實施例中,所述參數信息還包括配置項目對應的配置項目參數信息,所述根據所述目標配置服務,生成所述虛擬機對象中配置服務對應的配置數據,包括:
13、獲取所述配置項目對應所述目標配置服務的配置模板;
14、將所述配置項目參數信息填寫至所述配置模板中,得到所述虛擬機對象中配置服務對應的配置數據。
15、在其中一個實施例中,所述配置服務為cloud-init服務或者cloudbase-init服務,所述配置服務參數信息包括所述虛擬機對象的操作系統標識,所述基于所述配置服務參數信息,確定所述虛擬機對象對應的目標配置服務,包括:
16、在所述操作系統標識表征所述虛擬機對象的操作系統為linux系統的情況下,確定所述目標配置服務為cloud-init服務;或者,
17、在所述操作系統標識表征所述操作系統為windows系統的情況下,確定所述目標配置服務為cloudbase-init服務。
18、在其中一個實施例中,所述方法還包括:
19、獲取所述參數信息,將所述參數信息填寫至虛擬機定義信息的注解中;
20、基于預設虛擬機鏡像與所述虛擬機定義信息,創建所述虛擬機對象。
21、第二方面,本申請還提供了一種虛擬機配置裝置。所述裝置包括:
22、第一獲取模塊,用于獲取虛擬機對象,所述虛擬機對象掛載有鏡像文件;
23、生成模塊,用于讀取所述虛擬機對象攜帶的參數信息,基于所述參數信息生成所述虛擬機對象中配置服務對應的配置數據;
24、寫入模塊,用于將所述配置數據寫入至所述鏡像文件,得到目標鏡像文件;以使所述虛擬機對象啟動時,通過所述配置服務從所述目標鏡像文件中讀取所述配置數據,以進行虛擬機配置。
25、在其中一個實施例中,所述虛擬機對象是基于kubevirt平臺創建的,所述第一獲取模塊,還用于:
26、通過準入webhook攔截所述kubevirt平臺下發的虛擬機對象變更事件;所述虛擬機對象變更事件至少包括創建事件和/或更新事件;
27、在攔截到所述虛擬機對象變更事件時,獲取所述虛擬機對象變更事件對應的所述虛擬機對象。
28、在其中一個實施例中,所述參數信息包括配置服務參數信息,所述生成模塊,還用于:
29、基于所述配置服務參數信息,確定所述虛擬機對象對應的目標配置服務;
30、根據所述目標配置服務,生成所述虛擬機對象中配置服務對應的配置數據。
31、在其中一個實施例中,所述參數信息還包括配置項目對應的配置項目參數信息,所述生成模塊,還用于:
32、獲取所述配置項目對應所述目標配置服務的配置模板;
33、將所述配置項目參數信息填寫至所述配置模板中,得到所述虛擬機對象中配置服務對應的配置數據。
34、在其中一個實施例中,所述配置服務為cloud-init服務或者cloudbase-init服務,所述配置服務參數信息包括所述虛擬機對象的操作系統標識,所述生成模塊,還用于:
35、在所述操作系統標識表征所述虛擬機對象的操作系統為linux系統的情況下,確定所述目標配置服務為cloud-init服務;或者,
36、在所述操作系統標識表征所述操作系統為windows系統的情況下,確定所述目標配置服務為cloudbase-init服務。
37、在其中一個實施例中,所述裝置還包括:
38、第二獲取模塊,用于獲取所述參數信息,將所述參數信息填寫至虛擬機定義信息的注解中;
39、創建模塊,用于基于預設虛擬機鏡像與所述虛擬機定義信息,創建所述虛擬機對象。
40、第三方面,本申請還提供了一種計算機設備。所述計算機設備包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現以上任一項方法。
41、第四方面,本申請還提供了一種計算機可讀存儲介質。所述計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現以上任一項方法。
42、第五方面,本申請還提供了一種計算機程序產品。所述計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現以上任一項方法。
43、上述虛擬機配置方法、裝置、計算機設備、存儲介質和計算機程序產品本文檔來自技高網...
【技術保護點】
1.一種虛擬機配置方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述虛擬機對象是基于KubeVirt平臺創建的,所述獲取虛擬機對象,包括:
3.根據權利要求1所述的方法,其特征在于,所述參數信息包括配置服務參數信息,所述基于所述參數信息生成所述虛擬機對象中配置服務對應的配置數據,包括:
4.根據權利要求3所述的方法,其特征在于,所述參數信息還包括配置項目對應的配置項目參數信息,所述根據所述目標配置服務,生成所述虛擬機對象中配置服務對應的配置數據,包括:
5.根據權利要求3所述的方法,其特征在于,所述配置服務為cloud-init服務或者cloudbase-init服務,所述配置服務參數信息包括所述虛擬機對象的操作系統標識,所述基于所述配置服務參數信息,確定所述虛擬機對象對應的目標配置服務,包括:
6.根據權利要求1所述的方法,其特征在于,所述方法還包括:
7.一種虛擬機配置裝置,其特征在于,所述裝置包括:
8.一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機
9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至6中任一項所述的方法的步驟。
10.一種計算機程序產品,包括計算機程序,其特征在于,該計算機程序被處理器執行時實現權利要求1至6中任一項所述的方法的步驟。
...【技術特征摘要】
1.一種虛擬機配置方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述虛擬機對象是基于kubevirt平臺創建的,所述獲取虛擬機對象,包括:
3.根據權利要求1所述的方法,其特征在于,所述參數信息包括配置服務參數信息,所述基于所述參數信息生成所述虛擬機對象中配置服務對應的配置數據,包括:
4.根據權利要求3所述的方法,其特征在于,所述參數信息還包括配置項目對應的配置項目參數信息,所述根據所述目標配置服務,生成所述虛擬機對象中配置服務對應的配置數據,包括:
5.根據權利要求3所述的方法,其特征在于,所述配置服務為cloud-init服務或者cloudbase-init服務,所述配置服務參數信息包括所述虛擬...
【專利技術屬性】
技術研發人員:熊文文,張忠琳,武博文,
申請(專利權)人:中國電信股份有限公司技術創新中心,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。