System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及微服務管理領域,尤其涉及一種訪問外部服務的方法、裝置和電子設備。
技術介紹
1、k8s(kubernetes)集群是一種微服務管理框架,其中可以將業務部署為微服務,微服務之間的訪問使用內部虛擬網絡,而微服務訪問外部服務直接使用每個物理節點的ip地址。同時,k8s也是一個開源的容器編排平臺,專為自動化部署、擴展和管理容器化應用程序而設計。它以容器為中心,通過聲明式配置和強大的自動化能力,簡化了云環境中復雜應用的部署和運維工作。
2、在k8s集群的架構體系中,內部微服務之間的訪問或微服務對外提供服務,均使用內部虛擬網絡,無論采用哪種網絡方案,均主要是將微服務的內部虛擬ip地址的相互訪問打通,以及微服務訪問外部服務時將源地址做源地址轉換為節點ip地址。
3、由于現有k8s集群的網絡基礎方案主要面向互聯網業務提供對外服務的場景,而一般的企業級應用由于安全等需要,對網絡源地址有嚴格要求,當前的網絡技術方案無法實現。也就是說,現有技術的k8s集群并未考慮到被訪問的外部服務有安全限制或訪問控制,僅限于特定認證的ip地址訪問,所以無法滿足這種復雜限定條件下的網絡需求。
技術實現思路
1、本專利技術的目的在于克服現有技術的不足,提供一種訪問外部服務的方法、裝置和電子設備。
2、本專利技術的目的是通過以下技術方案來實現的:
3、本專利技術的第一方面,提供一種訪問外部服務的方法,應用于k8s集群的主節點,包括:
4、將從ip隧道接
5、將原始訪問報文的源地址替換為主節點的ip地址,生成外部訪問報文,并保存地址轉換記錄;其中,主節點的ip地址為外部服務認證的具有訪問權限的ip地址;
6、將外部訪問報文轉發至目的地址對應的外部服務。
7、進一步地,所述方法還包括:
8、接收外部服務發送的回復報文;
9、根據所述地址轉換記錄,將回復報文的目的地址修改為對應的原始訪問報文的源地址后通過路由轉發到所述從節點。
10、本專利技術的第二方面,提供一種訪問外部服務的方法,應用于k8s集群的從節點,所述方法包括:
11、所述從節點中的某一微服務生成原始訪問報文,所述原始訪問報文的源地址為所述微服務的ip地址;
12、當所述原始訪問報文的目的地址為非k8s集群內的ip地址時,將所述原始訪問報文封裝為隧道報文;其中,隧道報文的源地址為所述從節點的ip地址,隧道報文的目的地址為主節點的ip地址;主節點的ip地址為外部服務認證的具有訪問權限的ip地址;
13、將所述隧道報文通過ip隧道轉發至所述主節點。
14、進一步地,所述方法還包括:
15、當所述原始訪問報文的目的地址為k8s集群內的ip地址時,將所述原始訪問報文按照目的地址進行轉發。
16、進一步地,所述k8s集群內的ip地址包括k8s集群內的節點的ip地址和節點中的微服務ip地址;所述方法還包括:
17、監聽k8s集群內的所有節點的ip地址以及每個節點中的微服務的ip地址,以獲得所述k8s集群內的所有ip地址;并根據監聽的ip地址變化情況動態構建報文轉發策略,以使訪問所述k8s集群內微服務的報文通過目的地址直接轉發,訪問外部服務的報文通過ip隧道轉發。
18、本專利技術的第三方面,提供一種訪問外部服務的裝置,應用于k8s集群的主節點,包括:
19、iip隧道解封裝模塊,用于將從ip隧道接收到的來自從節點的隧道報文解封裝,得到訪問k8s集群外部服務的原始訪問報文;
20、外部訪問報文生成模塊,用于將原始訪問報文的源地址替換為主節點的ip地址,生成外部訪問報文,并保存地址轉換記錄;其中,主節點的ip地址為外部服務認證的具有訪問權限的ip地址;
21、外部報文轉發模塊,用于將外部訪問報文轉發至目的地址對應的外部服務。
22、進一步地,所述裝置還包括內部報文轉發模塊:
23、所述外部報文轉發模塊,還用于接收外部服務發送的回復報文;
24、所述內部報文轉發模塊,用于根據所述地址轉換記錄,將回復報文的目的地址修改為對應的原始訪問報文的源地址后通過路由轉發到所述從節點。
25、本專利技術的第四方面,提供一種訪問外部服務的裝置,應用于k8s集群從節點,包括:
26、微服務模塊,用于生成所屬微服務的原始訪問報文,所述原始訪問報文的源地址為所屬微服務的ip地址;
27、ip隧道封裝模塊,用于當所述原始訪問報文的目的地址為非k8s集群內的ip地址時,將所述原始訪問報文封裝為隧道報文;其中,隧道報文的源地址為所述從節點的ip地址,隧道報文的目的地址為主節點的ip地址;主節點的ip地址為外部服務認證的具有訪問權限的ip地址;
28、隧道報文轉發模塊,用于將所述隧道報文通過ip隧道轉發至所述主節點。
29、進一步地,所述裝置還包括:
30、原始訪問報文轉發模塊,用于當所述原始訪問報文的目的地址為k8s集群內的ip地址時,將所述原始訪問報文按照目的地址進行轉發。
31、進一步地,所述k8s集群內的ip地址包括k8s集群內的節點ip地址和k8s集群內的微服務ip地址;所述裝置還包括ip地址監聽模塊,用于監聽k8s集群內的所有節點的ip地址以及每個節點中的微服務的ip地址,以獲得所述k8s集群內的所有ip地址;和/或
32、所述裝置還包括虛擬交換機服務模塊,用于監聽k8s集群內的所有節點的ip地址以及每個節點中的微服務的ip地址,以獲得所述k8s集群內的所有ip地址;并根據監聽的ip地址變化情況動態調構建文轉發策略,以使訪問所述k8s集群內微服務的報文直接轉發,訪問外部服務的報文通過ip隧道轉發。
33、本專利技術的第五方面,提供一種電子設備,包括存儲器和處理器,所述存儲器上存儲有可在所述處理器上運行的計算機指令,所述處理器運行所述計算機指令時執行如第一方面所述方法的步驟、或如第二方面所述方法的步驟。
34、本專利技術的第六方面,提供一種計算機存儲介質,其上存儲有計算機指令,所述計算機指令運行時執行如第一方面所述方法的步驟、或如第二方面所述方法的步驟。
35、本專利技術的有益效果是:
36、在本專利技術的一示例性實施例中,可以在不依賴外部網關的情況下,尤其應用于在大量二層組網的場景或安全限制的k8s集群場景中,能夠保證訪問外部服務使用統一的ip地址,增強了安全性。
本文檔來自技高網...【技術保護點】
1.一種訪問外部服務的方法,其特征在于,應用于K8S集群的主節點,所述方法包括:
2.根據權利要求1所述的訪問外部服務的方法,其特征在于,所述方法還包括:
3.一種訪問外部服務的方法,其特征在于,應用于K8S集群的從節點,所述方法包括:
4.根據權利要求3所述的訪問外部服務的方法,其特征在于,所述方法還包括:
5.根據權利要求3或4所述的訪問外部服務的方法,其特征在于:所述K8S集群內的IP地址包括K8S集群內的節點的IP地址和節點中的微服務IP地址;所述方法還包括:
6.一種訪問外部服務的裝置,其特征在于,應用于K8S集群的主節點,包括:
7.根據權利要求6所述的訪問外部服務的K8S集群主節點裝置,其特征在于:所述裝置還包括內部報文轉發模塊:
8.一種訪問外部服務的裝置,其特征在于,應用于K8S集群從節點,包括:
9.根據權利要求8所述的訪問外部服務的K8S集群從節點裝置,其特征在于:所述裝置還包括原始訪問報文轉發模塊,用于當所述原始訪問報文的目的地址為K8S集群內的IP地址時,將所
10.一種電子設備,包括存儲器和處理器,所述存儲器上存儲有可在所述處理器上運行的計算機指令,其特征在于:所述處理器運行所述計算機指令時執行如權利要求1-2中任一項所述方法的步驟、或如權利要求3-5中任意一項所述方法的步驟。
...【技術特征摘要】
1.一種訪問外部服務的方法,其特征在于,應用于k8s集群的主節點,所述方法包括:
2.根據權利要求1所述的訪問外部服務的方法,其特征在于,所述方法還包括:
3.一種訪問外部服務的方法,其特征在于,應用于k8s集群的從節點,所述方法包括:
4.根據權利要求3所述的訪問外部服務的方法,其特征在于,所述方法還包括:
5.根據權利要求3或4所述的訪問外部服務的方法,其特征在于:所述k8s集群內的ip地址包括k8s集群內的節點的ip地址和節點中的微服務ip地址;所述方法還包括:
6.一種訪問外部服務的裝置,其特征在于,應用于k8s集群的主節點,包括:
7.根據權利要求...
【專利技術屬性】
技術研發人員:劉剛國,
申請(專利權)人:邁普通信技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。