本公開涉及自動化運維領域,尤其涉及一種資源調度方法和裝置、電子設備、芯片及存儲介質。
背景技術:
1、kubernetes可以用于集群的自動化運維,可以有效地管理容器的生命周期,包括自動化部署、負載均衡、自愈和擴展等任務,簡化了應用程序的管理過程。kubernetes集群運維方式主要包括以下兩種:一是按照kubernetes規范形成yaml文件后,通過kubectl命令行工具來維護kubernetes集群上的資源對象;二是按照helm技術規范形成helm?chart包后,通過helm命令行工具來維護kubernetes集群上的資源。
2、這兩種運維方式涉及到的技術規范較多,從業人員需花費較多時間進行學習,且兩種方式在需要進行跨集群運維時,存在遷移難度大的問題。
技術實現思路
1、本公開提供一種資源調度方法和裝置、電子設備、芯片及存儲介質,以解決相關技術中的問題。
2、本公開的第一方面實施例提出了一種資源調度方法,該方法由網絡設備執行,該方法包括:流程服務器從系統門戶獲取有向無環圖,有向無環圖為多個資源對象之間的依賴和部署關系;流程服務器從系統門戶獲取多個資源對象的環境配置信息;調度服務器根據有向無環圖和環境配置信息,為多個資源對象調度多個資源集群。
3、在本公開的一些實施例中,流程服務器從系統門戶獲取多個資源的環境配置信息包括以下至少一項:流程服務器從系統門戶獲取針對每個資源配置的0~n個第一目標環境;流程服務器從系統門戶獲取公共參數中配置0~n個第二目標環境;流程服務器從系統門戶獲取在啟動有向無環圖對應的流程時配置的第三目標環境,其中n為大于等于1的整數。
4、在本公開的一些實施例中,調度服務器根據有向無環圖和環境配置信息,為多個資源對象調度多個資源集群包括:從有向無環圖的起始資源對象開始,遍歷有向無環圖的所有資源對象;確定是否存在第一目標環境、第二目標環境、第三目標環境中的至少一者,若是,遍歷所有目標環境;確定是否存在于目標環境適配的運行環境,若是,對資源對象和運行環境進行適配;對經適配的資源對象,調度多個資源集群中的資源,以運行有向無環圖對應的流程,資源包括存儲資源、計算資源、網絡資源中的至少一種。
5、在本公開的一些實施例中,對資源對象和運行環境進行適配包括:調度服務器中的適配器根據資源對象的資源參數、環境版本、資源版本,對資源對象和運行環境進行適配,以得到適配結果;根據適配結果,向運行環境發起維護動作,維護動作包括創建、更新、刪除中的至少一項。
6、在本公開的一些實施例中,方法還包括:若未獲取到資源對象,或者不存在第一目標環境、第二目標環境、第三目標環境,結束調度。
7、本公開的第二方面實施例提出了一種資源調度方法,該方法由資源調度系統執行,該方法包括:系統門戶生成有向無環圖,有向無環圖為多個資源之間的依賴和部署關系;系統門戶獲取多個資源的環境配置信息;流程服務器從系統門戶獲取有向無環圖和環境配置信息;調度服務器根據有向無環圖和環境配置信息,為多個資源對象調度多個資源集群。
8、在本公開的一些實施例中,系統門戶顯示資源編排頁面,資源編排頁面包括工具區、控件區、畫布區、配置區,其中工具區包括多個全局性功能按鈕,控件區包括多個資源控件,畫布區用于生成有向無環圖,配置區用于為資源控件配置參數以及配置環境配置信息。
9、在本公開的一些實施例中,系統門戶獲取多個資源的環境配置信息包括:針對每個資源配置0~n個目標環境;在公共參數中配置0~n個目標環境;在啟動有向無環圖對應的流程時配置目標環境,其中n為大于等于1的整數。
10、在本公開的一些實施例中,調度服務器根據有向無環圖和環境配置信息,為多個資源對象調度多個資源集群包括:從有向無環圖的起始資源對象開始,遍歷有向無環圖的所有資源對象;確定是否存在第一目標環境、第二目標環境、第三目標環境中的至少一者,若是,遍歷所有目標環境;確定是否存在于目標環境適配的運行環境,若是,對資源對象和運行環境進行適配;對經適配的資源對象,調度多個資源集群中的資源,以運行有向無環圖對應的流程,資源包括存儲資源、計算資源、網絡資源中的至少一種。
11、在本公開的一些實施例中,對資源對象和運行環境進行適配包括:調度服務器中的適配器根據資源對象的資源參數、環境版本、資源版本,對資源對象和運行環境進行適配,以得到適配結果;調度服務器根據適配結果,向運行環境發起維護動作,維護動作包括創建、更新、刪除中的至少一項。
12、在本公開的一些實施例中,方法還包括:若未獲取到資源對象,或者不存在第一目標環境、第二目標環境、第三目標環境,調度服務器結束調度。
13、本公開的第三方面實施例提出了一種網絡設備設備,該設備包括:流程服務器、調度服務器和多個資源集群。流程服務器用于從系統門戶獲取有向無環圖,有向無環圖為多個資源對象之間的依賴和部署關系;流程服務器用于從系統門戶獲取多個資源對象的環境配置信息;調度服務器用于根據有向無環圖和環境配置信息,為多個資源對象調度多個資源集群。
14、本公開的第四方面實施例提出了一種資源調度系統,該系統包括:系統門戶、流程服務器、調度服務器和多個資源集群。系統門戶用于生成有向無環圖,有向無環圖為多個資源之間的依賴和部署關系;系統門戶用于獲取多個資源的環境配置信息;流程服務器用于從系統門戶獲取有向無環圖和環境配置信息;調度服務器用于根據有向無環圖和環境配置信息,為多個資源對象調度多個資源集群。
15、本公開的第五方面實施例提出了一種電子設備,包括一個或多個處理器;
16、與所述一個或多個處理器通信連接的存儲裝置,其上存儲有一個或多個程序;當一個或多個程序被一個或多個處理器執行時,使得一個或多個處理器實現本公開第一方面、第二方面實施例中描述的方法。
17、本公開的第六方面實施例提出了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其中,計算機指令用于使計算機執行本公開第一方面、第二方面實施例中描述的方法。
18、本公開的第七方面實施例提出了一種計算機程序產品,包括計算機程序,計算機程序在被處理器執行本公開第一方面、第二方面實施例中描述的方法。
19、本公開的第八方面實施例提出了一種芯片,其特征在于,包括一個或多個接口電路和一個或多個處理器;接口電路用于從電子設備的存儲器接收信號,并向處理器發送信號,信號包括存儲器中存儲的計算機指令,當處理器執行所述計算機指令時,使得電子設備執行本公開第一方面、第二方面實施例中描述的方法。
20、綜上,本公開提出的產品數據的資源調度方法,通過獲取有向無環圖確定多個資源對象之間的依賴和部署關系,獲取多個資源的環境配置信息,并基于環境配置信息與資源對象的依賴關系確定資源對象調度的資源集群,實現跨多個kubernetes集群的自動化運維,通過有向無環圖可以實現以較直觀的方式維護kubernetes資源對象的配置信息,靈活控制資源運維流程,降低kubernetes集群資源維護人員的入門難度,提高維護人員的工作效率。
21、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。