本技術屬于云計算,具體涉及一種集群訪問方法、裝置、設備及計算機程序產品。
背景技術:
1、相關技術中基于kubernetes的本地開發工具通過拿到kubernetes(k8s)集群中的kubeconfig配置文件,建立本地到集群以及集群到本地的雙向通道,從而提升在持續交付生命周期中開發環節的效率問題以及開發測試環境的復用問題。
2、kubeconfig配置文件包含與kubernetes集群的連接信息,包括集群地址、證書和身份驗證憑據等。拿到kubeconfig配置文件相當于擁有了對kubernetes集群中所有服務的訪問權限。泄露或濫用kubeconfig配置文件可能導致未經授權的訪問和操作集群中的資源,從而對集群的安全性和穩定性造成風險。
技術實現思路
1、本技術提出一種集群訪問方法、裝置、設備及計算機程序產品,能夠緩解相關技術中泄露或濫用kubeconfig配置文件可能導致未經授權的訪問和操作集群中的資源,從而對集群的安全性和穩定性造成風險的技術問題。
2、本技術第一方面實施例提出了一種集群訪問方法,應用于客戶端設備,所述方法包括:
3、在基于本地服務對應的權限訪問參數,確定所述本地服務注冊到計算集群的情況下,基于所述權限訪問參數包括的命名空間參數,獲取通過所述本地服務需要訪問的目標集群服務的信息;所述權限訪問參數用于指示所述本地服務具有對計算集群中所述命名空間參數對應的集群服務的訪問權限,所述目標集群服務為所述命名空間參數對應的集群服務中的服務;
4、基于所述目標集群服務的信息和所述本地服務的信息,生成服務訪問請求;
5、向所述計算集群發送所述服務訪問請求;
6、接收所述計算集群基于所述服務訪問請求返回的服務響應數據。
7、在一些實施例中,所述方法還包括:
8、在生成所述服務訪問請求的情況下,采用所述權限訪問參數包括的秘鑰,加密所述服務訪問請求,獲得加密服務訪問請求;
9、向所述計算集群發送所述加密服務訪問請求。
10、本技術第二方面實施例提出了一種集群訪問方法,應用于計算集群,所述方法包括:
11、接收來自于客戶端設備的服務訪問請求,所述服務訪問請求攜帶目標集群服務的信息和所述客戶端設備中本地服務的信息;
12、基于所述本地服務的信息,獲取所述本地服務注冊到所述計算集群采用的權限訪問參數;
13、在基于所述目標集群服務的信息,確定所述目標集群服務屬于所述權限訪問參數包括的命名空間參數對應的集群服務的情況下,向所述目標集群服務發送所述服務訪問請求;
14、獲取所述目標集群服務響應于所述服務訪問請求生成的服務響應數據;
15、向所述客戶端設備發送所述服務響應數據。
16、在一些實施例中,所述方法還包括:
17、在基于所述目標集群服務的信息,確定所述目標集群服務屬于所述權限訪問參數包括的命名空間參數對應的集群服務的情況下,基于所述目標集群服務的信息,解析獲得所述目標集群服務的ip地址;
18、向所述目標集群服務發送所述服務訪問請求,包括:
19、基于所述ip地址,向所述目標集群服務發送所述服務訪問請求。
20、在一些實施例中,基于所述目標集群服務的信息,解析獲得所述目標集群服務的ip地址之前,還包括:
21、接收來自于所述客戶端設備的加密服務訪問請求;
22、采用所述命名空間參數包括的秘鑰,加密所述服務訪問請求,獲得集群加密服務訪問請求;
23、確定所述集群加密服務訪問請求與所述加密服務訪問請求一致。
24、在一些實施例中,所述方法還包括:
25、在獲取所述服務響應數據的情況下,基于所述本地服務的信息,解析獲得所述本地服務的ip地址;
26、向所述客戶端設備發送所述服務響應數據,包括:
27、基于所述本地服務的ip地址,向所述客戶端設備發送所述服務響應數據。
28、本技術第三方面實施例提出了一種集群訪問裝置,應用于客戶端設備,所述裝置包括:
29、第一獲取模塊,用于在基于本地服務對應的權限訪問參數,確定所述本地服務注冊到計算集群的情況下,基于所述權限訪問參數包括的命名空間參數,獲取通過所述本地服務需要訪問的目標集群服務的信息;所述權限訪問參數用于指示所述本地服務具有對計算集群中所述命名空間參數對應的集群服務的訪問權限,所述目標集群服務為所述命名空間參數對應的集群服務中的服務;
30、生成模塊,用于基于所述目標集群服務的信息和所述本地服務的信息,生成服務訪問請求;
31、第一發送模塊,用于向所述計算集群發送所述服務訪問請求;
32、第一接收模塊,用于接收所述計算集群基于所述服務訪問請求返回的服務響應數據。
33、本技術第四方面實施例提出了一種集群訪問裝置,應用于計算集群,所述裝置包括:
34、第二接收模塊,用于接收來自于客戶端設備的服務訪問請求,所述服務訪問請求攜帶目標集群服務的信息和所述客戶端設備中本地服務的信息;
35、第二獲取模塊,用于基于所述本地服務的信息,獲取所述本地服務注冊到所述計算集群采用的權限訪問參數;
36、第二發送模塊,用于在基于所述目標集群服務的信息,確定所述目標集群服務屬于所述權限訪問參數包括的命名空間參數對應的集群服務的情況下,向所述目標集群服務發送所述服務訪問請求;
37、第三獲取模塊,用于獲取所述目標集群服務響應于所述服務訪問請求生成的服務響應數據;
38、第三發送模塊,用于向所述客戶端設備發送所述服務響應數據。
39、本技術第五方面實施例提出了一種集群訪問系統,包括:
40、客戶端設備和計算集群;
41、所述客戶端設備用于執行第一方面所述的集群訪問方法;
42、所述計算集群用于執行第二方面所述的集群訪問方法。
43、本技術第六方面實施例提出了一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器運行所述計算機程序以實現如第一方面或第二方面所述的方法。
44、本技術第七方面實施例提出了一種計算機程序產品,包括計算機可讀代碼,或者承載有計算機可讀代碼的非易失性計算機可讀存儲介質,當所述計算機可讀代碼在電子設備的處理器中運行時,所述電子設備中的處理器執行如第一方面或第二方面所述的方法。
45、本技術實施例中提供的技術方案,至少具有如下技術效果或優點:
46、在本技術實施例中,權限訪問參數包括的命名空間參數決定了本地服務在計算集群中所能訪問的集群服務,通過命名空間參數限定了本地服務能對計算集群中的某些集群服務進行訪問。這樣即便權限訪問參數泄露,也僅影響命名空間參數所限定的集群服務的訪問安全,而對于計算集群中除命名空間參數之外的集群服務,則不會因為該權限訪問參數的泄露存在訪問不安全的問題。相較于相關技術中kubeconfig配置文件泄露,導致計算集群中所有集群服務都存在訪問風險的問題,本實施例的方案可以減少對計算集群的安全性和穩定性造成的風險。
47、本技術附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變的明顯,或通過本技術的實踐了解到。