TW202340942A - System for deploying high availability service, method and computer readable medium thereof - Google Patents

System for deploying high availability service, method and computer readable medium thereof Download PDF

Info

Publication number
TW202340942A
TW202340942A TW111113056A TW111113056A TW202340942A TW 202340942 A TW202340942 A TW 202340942A TW 111113056 A TW111113056 A TW 111113056A TW 111113056 A TW111113056 A TW 111113056A TW 202340942 A TW202340942 A TW 202340942A
Authority
TW
Taiwan
Prior art keywords
deployment
cluster
service
module
control platform
Prior art date
Application number
TW111113056A
Other languages
Chinese (zh)
Other versions
TWI795262B (en
Inventor
徐嘉卿
連文達
Original Assignee
中華電信股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW111113056A priority Critical patent/TWI795262B/en
Application granted granted Critical
Publication of TWI795262B publication Critical patent/TWI795262B/en
Publication of TW202340942A publication Critical patent/TW202340942A/en

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention is a system and a method for deploying high availability service. Based on the content of a service to be deployed and a cluster data of all the clusters in the mesh, the clusters involved in a service deployment are obtained and the deployment sequence is arranged by a control platform, so as commands in the cluster is generated according to parameters for the service deployment and the deployment sequence. The commands in the cluster is obtained and parsed by a cluster agent, so as the deployment instructions that need to be executed at the local end is executed, and the deployment instructions that need to be executed at the remote end is executed by the corresponding cluster agent that is notified through the control platform. After the service deployment is completed by all cluster agents, deployment results are reported to the control platform for confirmation. The present invention also provides a computer-readable medium for executing the method of the present invention.

Description

高可用服務之部署系統、方法及其電腦可讀媒介 High-availability service deployment system, method and computer-readable medium

本發明係關於網路服務部署之技術,尤指一種高可用服務之部署系統、方法及其電腦可讀媒介。 The present invention relates to the technology of network service deployment, and in particular, to a high-availability service deployment system and method and its computer-readable medium.

隨著網路科技進步與服務需求,許多服務部署與安裝都能透過系統來自動執行,降低了時間與空間的限制,對於服務提供者或營運商而言,不僅節省人力也能縮短時程,實屬技術上一大進步。 With the advancement of network technology and service demand, many service deployments and installations can be automatically executed through the system, reducing time and space constraints. For service providers or operators, it not only saves manpower but also shortens the time. It is indeed a major advancement in technology.

在網路架構的多元發展下,容器(Container)的概念顯然已成為必要配置,容器包含了讓應用程式能於不同環境下順利執行的要素,亦即,一種能讓應用程序代碼、運行過程、系統工具、系統庫以及相關配置納入一實體中的做法,而將應用程序的容器進行部署和組織的動作則稱為容器編排(Container Orchestration),目前市面上也有不少容器編排工具,例如Google所開發的Kubernetes(簡稱K8S)系統。對於共享軟體之部署與安裝的方案中,常見一個容器涉及到多個不同叢集,也就是一個服務會部署到多個叢集上,然於現有技術中,都僅能每一個叢集各別部署,該些叢集之間缺乏關聯性,導致安裝過程不便與繁 瑣,特別是對於高可用性(High Availability)的服務,通常須要多個叢集來執行,若僅是各別叢集進行服務安裝,恐有效率不佳且難以整體檢視等問題。 With the diversified development of network architecture, the concept of container has obviously become a necessary configuration. Containers include elements that allow applications to execute smoothly in different environments, that is, a container that allows application code, running processes, The practice of integrating system tools, system libraries and related configurations into one entity, and the action of deploying and organizing application containers is called container orchestration. There are currently many container orchestration tools on the market, such as those by Google. The Kubernetes (K8S for short) system developed. For shared software deployment and installation solutions, it is common for a container to involve multiple different clusters, that is, a service will be deployed to multiple clusters. However, in the existing technology, each cluster can only be deployed separately. The lack of correlation between these clusters makes the installation process inconvenient and complicated. This is cumbersome, especially for high availability (High Availability) services, which usually require multiple clusters to execute. If services are only installed in separate clusters, there may be problems such as inefficiency and difficulty in overall inspection.

鑑於上述問題,如何找出一種網路服務之部署方式,可以讓涉及多個叢集之高可用性服務能更順利地進行部署與安裝,特別是,除了減少因各別部署所衍伸的問題外,同時也強化各叢集之間的溝通,此將成為目前本技術領域人員急欲追求之目標。 In view of the above problems, how to find a way to deploy network services that can make high-availability services involving multiple clusters more smoothly deployed and installed. In particular, in addition to reducing the problems derived from individual deployments, At the same time, it also strengthens the communication between various clusters, which will become a goal that people in this technical field are currently eager to pursue.

為解決上述現有技術之問題,本發明係揭露一種高可用服務之部署系統,係包括:控制平台裝置,係用於分析欲部署之服務的內容及獲取網格內之叢集資料,以得到部署該服務所需之參數及所需叢集之部署順序,俾依據部署該服務所需之參數及該部署順序產生叢集內指令並發送該叢集內指令;以及叢集代理裝置,係與該控制平台裝置通訊連接,用於收取並解析該叢集內指令,透過執行序(exec command)之執行以進行該服務之部署,以及回傳部署結果至該控制平台裝置,俾供該控制平台裝置確認該服務是否部署完成。 In order to solve the above-mentioned problems of the prior art, the present invention discloses a high-availability service deployment system, which includes: a control platform device, which is used to analyze the content of the service to be deployed and obtain cluster data in the grid to obtain the deployment of the service. The parameters required for the service and the deployment sequence of the required clusters are used to generate and send intra-cluster instructions based on the parameters required to deploy the service and the deployment sequence; and the cluster agent device is connected to the control platform device for communication , used to receive and parse the instructions in the cluster, deploy the service through the execution of the exec command, and return the deployment results to the control platform device so that the control platform device can confirm whether the service deployment is completed. .

於上述系統中,該控制平台裝置係包括:部署管理模組,係用於分析該服務的內容,以取得部署該服務所需之參數,以及依據部署該服務所需之參數及該部署順序而產生該叢集內指令;叢集網格模組,係用於取得網格內之叢集資料,以於確認部署該服務所需叢集之排序與關係後,串接出該部署順序;以及訊息模組,係用於傳送該叢集內指令,以及接收該叢集代理裝置所回傳之該部署結果而轉送至該部署管理模組。 In the above-mentioned system, the control platform device includes: a deployment management module, which is used to analyze the content of the service to obtain the parameters required to deploy the service, and based on the parameters required to deploy the service and the deployment sequence. Generate the intra-cluster command; the cluster grid module is used to obtain the cluster data in the grid to concatenate the deployment sequence after confirming the order and relationship of the clusters required to deploy the service; and the message module, It is used to transmit the intra-cluster command and receive the deployment result returned by the cluster agent device and forward it to the deployment management module.

於一實施例中,該訊息模組係用於管理各叢集之間的訊息發送與傳遞,且該些叢集之間所傳遞之訊息包含同步訊息及/或非同步訊息。 In one embodiment, the message module is used to manage message sending and transmission between clusters, and the messages transmitted between the clusters include synchronous messages and/or asynchronous messages.

於上述系統中,該叢集代理裝置係包括:部署模組,係用於解析該叢集內指令以進行該服務之部署;執行序模組,係用於進行該叢集內指令中有關本地端之執行序的執行;以及傳遞接收模組,係用於接收來自該控制平台裝置之部署訊息、傳送各該叢集代理裝置相互之間的驅動訊息、以及回傳該部署結果至該控制平台裝置。 In the above system, the cluster agent device includes: a deployment module, which is used to parse the instructions in the cluster to deploy the service; an execution module, which is used to execute the local execution of the instructions in the cluster. The execution of the program; and the delivery and reception module are used to receive deployment messages from the control platform device, send driver messages between the cluster agent devices, and return the deployment results to the control platform device.

於一實施例中,該部署模組係確認該叢集內指令屬於本地端執行的部署指令或是異地端執行的部署指令,以於該叢集內指令屬為該異地端執行的部署指令時,令該訊息模組對異地端之叢集進行呼叫,使該異地端執行的部署指令於其對應之叢集內被執行。 In one embodiment, the deployment module confirms that the instructions in the cluster belong to the deployment instructions executed by the local end or the deployment instructions executed by the remote end, so that when the instructions in the cluster belong to the deployment instructions executed by the remote end, make The message module calls the cluster of the remote terminal so that the deployment command executed by the remote terminal is executed in its corresponding cluster.

於一實施例中,該控制平台裝置與該叢集代理裝置之間的訊息接收為非同步,各該叢集代理裝置之間的訊息驅動為同步或由該叢集代理裝置之網路應用程式介面(Web API)進行傳呼。 In one embodiment, the message reception between the control platform device and the cluster agent device is asynchronous, and the message drive between the cluster agent devices is synchronized or driven by the Web Application Programming Interface (Web) of the cluster agent device. API) for paging.

於一實施例中,該部署結果包括本地端和異地端之所有叢集的部署結果。 In one embodiment, the deployment results include deployment results of all clusters on the local side and the remote side.

本發明復揭露一種高可用服務之部署方法,係由電腦設備執行該方法,該方法包括以下步驟:令控制平台裝置之部署管理模組分析欲部署之服務的內容,以取得部署該服務所需之參數;令該控制平台裝置之叢集網格模組提供網格內之叢集資料,確認部署該服務所需叢集之排序與關係,以串接出部署順序;令該部署管理模組依據部署該服務所需之參數及該部署順序,產生叢集內指令,以供該控制平台裝置之訊息模組傳送該叢集內指令;由叢集代理裝置之部署 模組解析該叢集內指令以進行該服務之部署,以及由該叢集代理裝置之執行序模組進行執行序的執行;以及令該叢集代理裝置之傳遞接收模組將部署結果回傳至該控制平台裝置,俾供該控制平台裝置確認該服務是否部署完成。 The present invention further discloses a method for deploying a high-availability service, which is executed by computer equipment. The method includes the following steps: causing the deployment management module of the control platform device to analyze the content of the service to be deployed to obtain the requirements for deploying the service. Parameters; make the cluster grid module of the control platform device provide cluster data in the grid, confirm the order and relationship of the clusters required to deploy the service, and connect the deployment sequence; make the deployment management module deploy the The parameters required by the service and the deployment sequence generate intra-cluster instructions for the message module of the control platform device to transmit the intra-cluster instructions; the deployment of the cluster agent device The module parses the instructions in the cluster to deploy the service, and the execution program module of the cluster agent device performs the execution of the execution program; and causes the pass-and-receive module of the cluster agent device to return the deployment results to the control The platform device allows the control platform device to confirm whether the service deployment is completed.

於一實施例中,該訊息模組係用於管理各叢集之間的訊息發送與傳遞,且該些叢集之間所傳遞之訊息包含同步訊息及/或非同步訊息。 In one embodiment, the message module is used to manage message sending and transmission between clusters, and the messages transmitted between the clusters include synchronous messages and/or asynchronous messages.

於一實施例中,該控制平台裝置與該叢集代理裝置之間的訊息接收為非同步,各該叢集代理裝置之間的訊息驅動為同步或由該叢集代理裝置之網路應用程式介面(Web API)進行傳呼。 In one embodiment, the message reception between the control platform device and the cluster agent device is asynchronous, and the message drive between the cluster agent devices is synchronized or driven by the Web Application Programming Interface (Web) of the cluster agent device. API) for paging.

於前述方法中,由該叢集代理裝置之部署模組解析該叢集內指令以進行該服務之部署之步驟,係包括確認該叢集內指令屬於本地端執行的部署指令或是異地端執行的部署指令,以於該叢集內指令屬為該異地端執行的部署指令時,令該訊息模組對異地端之叢集進行呼叫,使該異地端執行的部署指令於其對應之叢集內被執行。 In the aforementioned method, the step of parsing the intra-cluster command by the deployment module of the cluster agent device to deploy the service includes confirming that the intra-cluster command is a deployment command executed locally or remotely. , when the command in the cluster is a deployment command executed by the remote end, the message module is made to call the cluster of the remote end, so that the deployment command executed by the remote end is executed in its corresponding cluster.

於前述方法中,令該叢集代理裝置之傳遞接收模組將部署結果回傳至該控制平台裝置,俾供該控制平台裝置確認該服務是否部署完成之步驟,係指該控制平台裝置透過該訊息模組接收該部署結果,以轉傳至該部署管理模組判斷部署是否完成。 In the above method, the step of causing the transmission and reception module of the cluster agent device to return the deployment result to the control platform device so that the control platform device can confirm whether the service deployment is completed means that the control platform device uses the message The module receives the deployment result and forwards it to the deployment management module to determine whether the deployment is completed.

於前述方法中,該部署結果包括本地端和異地端之所有叢集的部署結果。 In the foregoing method, the deployment result includes the deployment results of all clusters on the local side and the remote side.

本發明復揭露一種電腦可讀媒介,應用於計算裝置或電腦中,係儲存有指令,以執行前述之高可用服務之部署方法。 The invention further discloses a computer-readable medium, which is used in a computing device or a computer and stores instructions to execute the aforementioned high-availability service deployment method.

由上可知,本發明之高可用服務之部署系統及其方法,具體而言,控制平台裝置考量欲部署之服務的內容以及網格內所有叢集之叢集資料,找出本次服務部署所涉及的叢集並排出部署順序,之後,依據所取得之參數及部署順序以產生叢集內指令,叢集代理裝置取得叢集內指令後進行解析,若為本地端要執行的部署指令,則由該叢集代理裝置來進行,若為異地端要執行的部署指令,則經由控制平台裝置通知對應之叢集代理裝置來執行,等待所有叢集代理裝置執行完自身的部署後,再將部署情況回報至控制平台裝置,藉以確認部署結果。由上可知,本發明利用分散式部署方式將使用者服務同時啟動於服務網格內之多個叢集,藉以達高可用性服務備份與分流效果。 It can be seen from the above that the high-availability service deployment system and method of the present invention, specifically, the control platform device considers the content of the service to be deployed and the cluster data of all clusters in the grid, and finds out the information involved in this service deployment. The cluster arranges the deployment order, and then generates intra-cluster instructions based on the obtained parameters and deployment order. The cluster agent device obtains the intra-cluster instructions and parses them. If it is a deployment instruction to be executed locally, the cluster agent device will execute it. If it is a deployment command to be executed by the remote end, the corresponding cluster agent device will be notified through the control platform device to execute it. After all cluster agent devices have completed their own deployment, the deployment status will be reported to the control platform device for confirmation. Deployment results. It can be seen from the above that the present invention uses a distributed deployment method to simultaneously activate user services in multiple clusters in the service grid, thereby achieving high-availability service backup and offloading effects.

1:高可用服務之部署系統 1: Highly available service deployment system

11:控制平台裝置 11:Control platform device

111:部署管理模組 111: Deployment management module

112:叢集網格模組 112: Cluster grid module

113:訊息模組 113:Message module

12、12’:叢集代理裝置 12, 12’: Cluster proxy device

121、121’:部署模組 121, 121’: Deployment module

122、122’:執行序模組 122, 122’: Execution module

123、123’:傳遞接收模組 123, 123’: transmitting and receiving module

501-507:流程 501-507:Process

601-606:流程 601-606:Process

701-706:流程 701-706:Process

S401-S405:步驟 S401-S405: Steps

圖1係本發明之高可用服務之部署系統的架構圖。 Figure 1 is an architectural diagram of a high-availability service deployment system of the present invention.

圖2係本發明之高可用服務之部署系統於一實施例的架構圖。 FIG. 2 is an architecture diagram of a high-availability service deployment system according to an embodiment of the present invention.

圖3係本發明之高可用服務之部署系統具體執行時的示意圖。 FIG. 3 is a schematic diagram of the implementation of the high-availability service deployment system of the present invention.

圖4係本發明之高可用服務之部署方法的步驟圖。 Figure 4 is a step diagram of the deployment method of a high-availability service of the present invention.

圖5係本發明之高可用服務之部署方法於一具體實施例的流程圖。 Figure 5 is a flow chart of a method for deploying high-availability services according to the present invention in a specific embodiment.

圖6係本發明之控制平台裝置建構部署叢集的流程圖。 Figure 6 is a flow chart of the control platform device constructing and deploying clusters of the present invention.

圖7係本發明之叢集代理裝置內部執行部署的流程圖。 FIG. 7 is a flow chart of internal deployment of the cluster agent device of the present invention.

以下藉由特定的具體實施形態說明本發明之技術內容,熟悉此技藝之人士可由本說明書所揭示之內容輕易地瞭解本發明之優點與功效。然本發明亦可藉由其他不同的具體實施形態加以施行或應用。 The following describes the technical content of the present invention through specific embodiments. Those familiar with the art can easily understand the advantages and effects of the present invention from the content disclosed in this specification. However, the present invention can also be implemented or applied through other different specific implementation forms.

圖1係本發明之高可用服務之部署系統的架構圖。本發明係一種以服務網格(Service mesh)網路架構為基礎,以雲端容器平台服務為叢集架構,利用分散式部署方式將使用者服務同時啟動於服務網格內之多個叢集,以達高可用性(High Availability)服務備份與分流效果,如圖所示,高可用服務之部署系統1係包括控制平台裝置11以及叢集代理裝置12,其中,控制平台裝置11與叢集代理裝置12之間通訊連接,該控制平台裝置11主要對欲部署之服務進行管控,因為服務為高可用性,故會部署於數個叢集內,而叢集代理裝置12係表示數個叢集之其中一者,主要是接收來自控制平台裝置11之訊息以進行服務安裝。 Figure 1 is an architectural diagram of a high-availability service deployment system of the present invention. The present invention is based on a service mesh network architecture, uses cloud container platform services as a cluster architecture, and uses a distributed deployment method to simultaneously activate user services in multiple clusters within the service mesh to achieve High Availability (High Availability) service backup and offloading effect. As shown in the figure, the deployment system 1 of high availability services includes a control platform device 11 and a cluster agent device 12. Among them, the control platform device 11 and the cluster agent device 12 communicate with each other. Connection, the control platform device 11 mainly controls the service to be deployed. Because the service is highly available, it will be deployed in several clusters, and the cluster agent device 12 represents one of several clusters, and mainly receives data from Control the messages of the platform device 11 to perform service installation.

控制平台裝置11用於分析欲部署之服務的內容,以得到部署該服務所需之參數,另外,還會取得服務網格(Service mesh)內之叢集資料,藉此以得到部署該服務所需叢集,以基於該些叢集之間的關係和排序,得到叢集的部署順序,最後,依據部署該服務所需之參數及該部署順序以產生叢集內指令,接著發送該叢集內指令,以供叢集代理裝置12接取該叢集內指令。 The control platform device 11 is used to analyze the content of the service to be deployed to obtain the parameters required to deploy the service. In addition, it also obtains cluster data in the service mesh to obtain the parameters required to deploy the service. cluster, to obtain the deployment sequence of the cluster based on the relationship and ordering between the clusters. Finally, generate intra-cluster instructions based on the parameters required to deploy the service and the deployment sequence, and then send the intra-cluster instructions for clustering The agent device 12 receives the intra-cluster command.

叢集代理裝置12於收取該叢集內指令後進行解析,透過執行序(exec command)之執行來進行該服務之部署,並且於部署完成後回傳部署結果至控制平台裝置11,俾供控制平台裝置11確認該服務是否部署完成。特別的是,叢集代理裝置12所收到之叢集內指令中會包含本地端和異地端所要執行的指令,本地端是指接收到該叢集內指令的叢集,而異地端則是指接收到該叢集內指令之叢集以外的其他叢集,易言之,每一個叢集只會執行自身所能處理或所須處理 的相關指令,其他的則會由控制平台裝置11再通知須要處理該指令的對應叢集,後面會再詳述此部分之技術細節。 The cluster agent device 12 analyzes the command after receiving the command in the cluster, deploys the service through the execution of the exec command, and returns the deployment result to the control platform device 11 after the deployment is completed for the control platform device. 11 Confirm whether the service is deployed. In particular, the intra-cluster instructions received by the cluster agent device 12 will include instructions to be executed by the local end and the remote end. The local end refers to the cluster that received the intra-cluster instruction, and the remote end refers to the cluster that received the intra-cluster instruction. Other clusters other than the cluster of instructions in the cluster. In other words, each cluster will only execute what it can process or needs to process. For other related instructions, the control platform device 11 will then notify the corresponding cluster that needs to process the instruction. The technical details of this part will be described in detail later.

於一實施例中,控制平台裝置11與叢集代理裝置12之間的訊息接收為非同步,各叢集代理裝置之間的訊息驅動為同步或由該叢集代理裝置之網路應用程式介面(Web API)進行傳呼。易言之,控制平台裝置11發送包含叢集內指令之部署訊息後,由叢集代理裝置12自行接取,此時控制平台裝置11無須等待叢集代理裝置12之回應即可執行其他事務,故兩者之間的訊息傳遞是非同步的。另外,叢集代理裝置12可包含多個代理不同叢集之代理裝置,在部署安裝程序中,可能甲代理裝置會要求乙代理裝置執行某些程序後才能繼續安裝,換言之,假若甲代理裝置未收到乙代理裝置回應前,無法繼續執行後續業務,即甲代理裝置須等待乙代理裝置之回應,故各代理裝置之間的訊息傳遞則屬於同步。 In one embodiment, the message reception between the control platform device 11 and the cluster agent device 12 is asynchronous, and the message drive between the cluster agent devices is synchronous or driven by the Web Application Programming Interface (Web API) of the cluster agent device. ) to page. In other words, after the control platform device 11 sends the deployment message including the instructions in the cluster, the cluster agent device 12 receives it by itself. At this time, the control platform device 11 does not need to wait for the response of the cluster agent device 12 to perform other tasks. Therefore, both The messaging between them is asynchronous. In addition, the cluster agent device 12 may include multiple agent devices that act as agents for different clusters. During the deployment and installation process, agent device A may require agent device B to perform certain procedures before continuing the installation. In other words, if agent device A does not receive Before agent device B responds, it cannot continue to perform subsequent operations, that is, agent device A must wait for a response from agent device B, so the message transmission between agent devices is synchronous.

簡言之,於交換資料時,若為重要資料(例如金鑰),則可透過指定之訊息傳接模組來進行,但若為一般資料,假若在網狀網路(mesh)架構下,兩個叢集網路互通,則兩者可以直接API(例如server API)溝通,若兩個叢集網路不互通,則透過指定之訊息傳接模組溝通,所以控制平台裝置11一開始就知道叢集之間的mesh關係,則發出後,即可決定兩個叢集之間的溝通方式。 In short, when exchanging data, if it is important data (such as a key), it can be carried out through the designated message transmission module, but if it is general data, if it is under a mesh network (mesh) architecture, If two cluster networks communicate with each other, they can communicate directly via API (for example, server API). If the two cluster networks do not communicate with each other, they will communicate through a designated message transmission module. Therefore, the control platform device 11 knows the cluster from the beginning. After the mesh relationship between them is issued, the communication method between the two clusters can be determined.

於一實施例中,叢集代理裝置12回傳之部署結果包括本地端和異地端之所有叢集的部署結果。簡言之,需要所有叢集代理裝置12皆回傳部署結果,才能知道此次服務的部署結果,舉例來說,控制平台裝置11發出部署訊息,由甲代理裝置和乙代理裝置接收並執行,其中,若是甲代理裝置為本地端的話,乙代理裝置可稱為異地端,另外,若甲代理裝置還要求丙代理裝置須先執行某項配置後才能進行安裝時,甲代理裝置要等丙代理裝置之回覆,故對於甲代理裝置 而言,要回報之部署結果包含丙代理裝置的部署結果以及甲代理裝置本身之部署結果,故統稱部署結果涵蓋本地端和異地端之所有叢集。 In one embodiment, the deployment results returned by the cluster proxy device 12 include the deployment results of all clusters at the local end and the remote end. In short, all cluster agent devices 12 need to return deployment results to know the deployment result of this service. For example, the control platform device 11 sends a deployment message, which is received and executed by agent device A and agent B, where , if agent device A is local, agent device B can be called a remote terminal. In addition, if agent device A also requires agent device C to perform a certain configuration before installation, agent device A has to wait for agent device C. the reply, so for agent device A Specifically, the deployment results to be reported include the deployment results of agent device C and the deployment results of agent device A itself. Therefore, the deployment results are collectively referred to as covering all clusters on the local and remote ends.

以整體架構來說,控制平台裝置11為系統平台叢集,叢集代理裝置12為服務網格內之叢集,於一具體實施例中,控制平台裝置11為系統主要執行的Kubernetes叢集,叢集代理裝置12為使用者需要部署的服務網格內的Kubernetes叢集。以下分別針對控制平台裝置11及叢集代理裝置12之技術細節進一步說明。 In terms of the overall architecture, the control platform device 11 is a system platform cluster, and the cluster agent device 12 is a cluster in the service grid. In a specific embodiment, the control platform device 11 is a Kubernetes cluster that the system mainly executes, and the cluster agent device 12 Kubernetes cluster within the service mesh that users need to deploy. The technical details of the control platform device 11 and the cluster agent device 12 are further described below respectively.

圖2為本發明之高可用服務之部署系統於一實施例的架構圖。如圖所示,當使用者欲對服務網格內之Kubernetes叢集進行部署時,由控制平台裝置11執行服務之部署與管理,另外,還需要驅動對應之叢集代理裝置12以執行部署,如圖所示,控制平台裝置11係包括部署管理模組111、叢集網格模組112以及訊息模組113,而叢集代理裝置12係包括部署模組121、執行序模組122以及傳遞接收模組123。 FIG. 2 is an architectural diagram of a high-availability service deployment system according to an embodiment of the present invention. As shown in the figure, when the user wants to deploy a Kubernetes cluster in the service grid, the control platform device 11 performs service deployment and management. In addition, the corresponding cluster agent device 12 also needs to be driven to perform deployment, as shown in the figure. As shown, the control platform device 11 includes a deployment management module 111, a cluster grid module 112 and a message module 113, and the cluster agent device 12 includes a deployment module 121, an execution module 122 and a delivery and reception module 123. .

部署管理模組111用於分析欲部署之服務的內容,以取得部署該服務所需之參數,以及依據部署該服務所需之參數及部署順序以產生叢集內指令。具體而說,部署管理模組111負責分析服務啟動需要的部署內容、需要的指令和動作,包含對應到部署(kubernetes指令)或者是執行序(exec command)的執行,該部署管理模組111取得部署欲部署之服務所需之參數,以及來自叢集網格模組112提供的網格內之叢集關係,分析出此次部署要執行的叢集有哪些,並確認之間的網路關係與訊息溝通模式,包含非同步訊息驅動、同步訊息驅動以及叢集代理裝置12的服務Restful API呼叫等,最後產生叢集內指令,前述之Restful API係指符合或相容於表現層狀態轉換(Representational State Transfer,REST)的網頁伺服器或網頁瀏覽器的網路應用程式介面(Web API)。 The deployment management module 111 is used to analyze the content of the service to be deployed to obtain the parameters required to deploy the service, and to generate instructions in the cluster according to the parameters and deployment sequence required to deploy the service. Specifically, the deployment management module 111 is responsible for analyzing the deployment content, required instructions and actions required for service startup, including the execution corresponding to deployment (kubernetes instructions) or execution sequence (exec command). The deployment management module 111 obtains Parameters required to deploy the service to be deployed, as well as cluster relationships within the grid provided by the cluster grid module 112, analyze which clusters are to be executed for this deployment, and confirm the network relationships and message communication between them The mode includes asynchronous message drivers, synchronous message drivers and service Restful API calls of the cluster agent device 12, etc., and finally generates intra-cluster instructions. The aforementioned Restful API refers to conforming to or being compatible with the presentation layer state transfer (REST). ) of a web server or web browser.

叢集網格模組112用於取得網格內之叢集資料,以於確認部署該服務所需叢集之排序與關係後,串接出該部署順序。如前所述,部署管理模組111產生叢集內指令時,需要了解部署服務所涉及之叢集以及該些叢集之間的關係,因而叢集網格模組112即是用於取得網格內之叢集資料,並於確認部署服務所需叢集以及該些叢集之排序與關係後,串接出部署該服務之叢集部署順序。 The cluster grid module 112 is used to obtain the cluster data in the grid, so as to concatenate the deployment sequence after confirming the order and relationship of the clusters required to deploy the service. As mentioned above, when the deployment management module 111 generates intra-cluster instructions, it needs to understand the clusters involved in the deployment service and the relationships between these clusters. Therefore, the cluster grid module 112 is used to obtain the clusters in the grid. Data, and after confirming the clusters required to deploy the service and the order and relationship of these clusters, the cluster deployment sequence for deploying the service is concatenated.

訊息模組113用於傳送部署管理模組111所產之叢集內指令,以及接收叢集代理裝置12所回傳之部署結果而轉送至部署管理模組111。簡言之,訊息模組113係管理各叢集之間訊息發送與傳遞,包含同步訊息及/或非同步訊息,其中,同步訊息涉及到雙方傳輸且有逾時(timeout)時間,也就是呼叫者在發送訊息後會等待對方之回應響應才進行下一步,而非同步訊息在通過通道(channel)傳送時,呼叫者在發送訊息後,短時間內無須等待對方回應響應即可處理其他任務,採用何者可視設計需求調整;另外,所有叢集都需要透過註冊到訊息模組113才得到接收或傳遞訊息。 The message module 113 is used to transmit intra-cluster instructions generated by the deployment management module 111, and receive the deployment results returned by the cluster agent device 12 and forward them to the deployment management module 111. In short, the message module 113 manages the sending and delivery of messages between clusters, including synchronous messages and/or asynchronous messages. Among them, synchronous messages involve transmission by both parties and have a timeout time, that is, the caller After sending a message, the caller will wait for a response from the other party before proceeding to the next step. When asynchronous messages are transmitted through a channel, the caller can handle other tasks in a short period of time after sending the message without waiting for a response from the other party. Using Which can be adjusted according to design requirements; in addition, all clusters need to be registered to the message module 113 to receive or transmit messages.

部署模組121用於解析來自控制平台裝置11之叢集內指令以進行服務之部署。簡言之,部署模組121於收到控制平台裝置11所發送之驅動訊息後,將進行容器指令或者kubernetes指令之執行,如前所述,該些指令中可包含本地端(即收到訊息之叢集)以及異地端(非本地端)所要執行之指令。 The deployment module 121 is used to parse the instructions in the cluster from the control platform device 11 to deploy services. In short, after receiving the driver message sent by the control platform device 11, the deployment module 121 will execute the container command or the kubernetes command. As mentioned above, these commands may include the local side (i.e., after receiving the message cluster) and the instructions to be executed by the remote end (non-local end).

執行序模組122用於進行該叢集內指令中有關本地端之執行序的執行。具體來說,執行序模組122用於執行序(exec command)的執行,使用的是主機實體指令,亦即有關叢集內指令中本地端之服務安裝,將交由本地端設備(例如電腦主機、伺服器)來執行,此時即透過該設備內部實體指令來進行安裝。 The execution program module 122 is used to execute the local execution program in the instructions in the cluster. Specifically, the executor module 122 is used to execute the exec command using host entity instructions, that is, the local service installation in the instructions in the cluster will be handed over to the local device (such as a computer host). , server) to execute, at this time, the installation is performed through the internal entity instructions of the device.

傳遞接收模組123用於接收來自控制平台裝置11之部署訊息、傳送各叢集代理裝置相互之間的驅動訊息、以及回傳部署結果至控制平台裝置11。簡言之,傳遞接收模組123主要接收控制平台裝置11之部署訊息,以及用於各叢集代理裝置相互之間的驅動訊息之傳送,當叢集代理裝置12完成整個部署後,將部署結果傳回控制平台裝置11,如前所述,控制平台裝置11與叢集代理裝置12間之訊息接收為非同步,各叢集代理裝置之間的訊息驅動則為同步或者由叢集代理裝置服務Restful API進行呼叫,如此可加速部署叢集之間的執行速度。 The transmission and reception module 123 is used to receive deployment messages from the control platform device 11 , transmit driving messages between cluster agent devices, and return deployment results to the control platform device 11 . In short, the transmission and reception module 123 mainly receives the deployment information of the control platform device 11 and is used to transmit the driving messages between the cluster agent devices. When the cluster agent device 12 completes the entire deployment, the deployment result is returned. The control platform device 11, as mentioned above, the message reception between the control platform device 11 and the cluster agent device 12 is asynchronous, and the message driving between the cluster agent devices is synchronous or called by the cluster agent device service Restful API. This speeds up execution between deployment clusters.

於一實施例中,該部署模組121確認該叢集內指令屬於本地端執行的部署指令或是異地端執行的部署指令,以於該叢集內指令屬為異地端執行的部署指令時,令控制平台裝置11之訊息模組113對異地端之叢集進行呼叫,以使異地端執行的部署指令於其對應之叢集內被執行。因此,透過控制平台裝置11之訊息模組123來對不同叢集代理裝置12進行部署訊息之發送。 In one embodiment, the deployment module 121 confirms that the instructions in the cluster belong to the deployment instructions executed by the local end or the deployment instructions executed by the remote end, so that when the instructions in the cluster belong to the deployment instructions executed by the remote end, the control The message module 113 of the platform device 11 makes a call to the cluster at the remote end, so that the deployment command executed by the remote end is executed in its corresponding cluster. Therefore, deployment messages are sent to different cluster agent devices 12 through the message module 123 of the control platform device 11 .

圖3為本發明之高可用服務之部署系統具體執行時的示意圖。如圖所示,部署管理模組111產生要進行服務部署之叢集內指令後,交由訊息模組113進行訊息發送,叢集代理裝置12由傳遞接收模組123收到部署訊息後,通知部署模組121進行叢集內指令之分析,屬於本地端之指令則轉交給執行序模組122來執行,若部署模組121發現叢集內指令中有異地端之指令時,則通知訊息模組113轉交給對應之叢集代理裝置12’,由叢集代理裝置12’之傳遞接收模組123’接收後,轉交給執行序模組122’來執行,並將部署結果回覆給叢集代理裝置12,同理,叢集代理裝置12’之部署模組121’發現叢集內指令中有異地端之指令時,會轉交給對應的代理裝置進行處理。當執行完部署安裝後,傳遞接收模組123會 回傳部署結果給予訊息模組113,訊息模組113再轉交給部署管理模組111,以供部署管理模組111該服務的部署情況。 FIG. 3 is a schematic diagram of the implementation of the high-availability service deployment system of the present invention. As shown in the figure, after the deployment management module 111 generates an intra-cluster command for service deployment, the message is sent to the message module 113. After receiving the deployment message from the delivery and reception module 123, the cluster agent device 12 notifies the deployment module. Group 121 analyzes the instructions in the cluster, and transfers the instructions belonging to the local end to the execution module 122 for execution. If the deployment module 121 finds that there are instructions from the remote end in the instructions in the cluster, it notifies the message module 113 and transfers them to the execution module 122. After the corresponding cluster agent device 12' is received by the delivery and reception module 123' of the cluster agent device 12', it is transferred to the execution module 122' for execution, and the deployment result is returned to the cluster agent device 12. Similarly, the cluster When the deployment module 121' of the agent device 12' discovers that there is a remote command in the cluster, it will transfer it to the corresponding agent device for processing. After the deployment and installation are completed, the delivery and reception module 123 will The deployment result is returned to the message module 113, and the message module 113 then forwards it to the deployment management module 111 to provide the deployment management module 111 with the deployment status of the service.

圖4係本發明之高可用服務之部署方法的步驟圖,係說明在高可用服務進行部署時,能利用共享概念,透過叢集與服務解析,將高可用服務部署於多個叢集中,藉以達到異地備援的效果,於本發明之架構中,控制平台裝置與控制平台裝置之間通訊連接,控制平台裝置執行部署之規劃與管控,由叢集代理裝置進行各別的部署安裝,下面將對高可用服務之部署方法逐步說明。 Figure 4 is a step diagram of the deployment method of high-availability services of the present invention. It illustrates that when deploying high-availability services, the sharing concept can be used to deploy high-availability services in multiple clusters through clusters and service parsing, so as to achieve The effect of remote backup is that in the architecture of the present invention, the control platform device communicates with the control platform device, the control platform device performs deployment planning and management, and the cluster agent device performs individual deployment and installation. The following will describe the high-level Step-by-step instructions for deploying available services.

步驟S401,令控制平台裝置之部署管理模組分析欲部署之服務的內容,以取得部署該服務所需之參數。本步驟係說明部署管理模組分析服務啟動需要的部署內容、需要的指令和動作,以取得部署欲部署之服務所需之參數。 Step S401, causing the deployment management module of the control platform device to analyze the content of the service to be deployed to obtain parameters required for deploying the service. This step explains that the deployment management module analyzes the deployment content, required instructions and actions required for service startup, so as to obtain the parameters required to deploy the service to be deployed.

步驟S402,令該控制平台裝置之叢集網格模組提供網格內之叢集資料,確認部署該服務所需叢集之排序與關係,以串接出部署順序。本步驟係說明叢集網格模組會取得網格內之叢集關係,接著,分析出該次要部署所涉及之叢集有哪些以及確認該些叢集之間的網路關係與訊息溝通模式,簡言之,找出服務部署到的叢集,了解該些叢集間之關係與通訊方式,以作為部署依據。 Step S402: Instruct the cluster grid module of the control platform device to provide cluster data in the grid, confirm the order and relationship of the clusters required for deploying the service, and connect the deployment sequence. This step explains that the cluster grid module will obtain the cluster relationships within the grid, then analyze the clusters involved in the secondary deployment and confirm the network relationships and message communication modes between these clusters. In short In other words, find out the clusters to which the services are deployed, and understand the relationships and communication methods between these clusters as a basis for deployment.

步驟S403,令該部署管理模組依據部署該服務所需之參數及該部署順序,產生叢集內指令,以供該控制平台裝置之訊息模組傳送該叢集內指令。本步驟係說明部署管理模組依據前兩個步驟取得之部署服務所需之參數及所涉及叢集之間的部署順序,藉以得到如何部署而產生叢集內指令,該些叢集內指令即是驅動代理裝置進行部署安裝之用,之後,叢集內指令由控制平台裝置之訊息模組發送出去。 Step S403, causing the deployment management module to generate an intra-cluster command based on the parameters required for deploying the service and the deployment sequence, so that the information module of the control platform device can transmit the intra-cluster command. This step explains how the deployment management module generates intra-cluster instructions based on the parameters required for the deployment service obtained in the first two steps and the deployment sequence between the involved clusters. These intra-cluster instructions are the driver agents. The device is used for deployment and installation. After that, the commands in the cluster are sent by the message module of the control platform device.

步驟S404,由叢集代理裝置之部署模組解析該叢集內指令以進行該服務之部署,以及由該叢集代理裝置之執行序模組進行執行序的執行。本步驟係說明叢集代理裝置能透過其內部之傳遞接收模組收取到控制平台裝置之訊息模組所發送內含叢集內指令之部署訊息,之後,交由部署模組會進行分析以取得要進行部署安裝之內容,並由執行序模組作執行序之執行。 Step S404: The deployment module of the cluster agent device parses the instructions in the cluster to deploy the service, and the execution program module of the cluster agent device executes the execution program. This step shows that the cluster agent device can receive the deployment message containing the instructions in the cluster sent by the message module of the control platform device through its internal transmission and reception module. Afterwards, the deployment module will analyze it to obtain the information to be carried out. Deploy the installation content and execute the execution program by the execution module.

於一實施例中,部署模組解析叢集內指令而進行服務之部署時,復包括確認該叢集內指令屬於本地端執行的部署指令或是異地端執行的部署指令,以於該叢集內指令屬為該異地端執行的部署指令時,令該訊息模組對異地端之叢集進行呼叫,使該異地端執行的部署指令於其對應之叢集內被執行。簡言之,叢集內指令可能包含本地端和異地端的指令,若為本地端的指令時,即可由收到叢集內指令之叢集代理裝置直接執行,倘若為異地端的指令時,則通知控制平台裝置之訊息模組對異地端之叢集進行呼叫,接著轉交異地端的指令而使該些異地端執行的部署指令能對應之叢集內被執行。 In one embodiment, when the deployment module parses the instructions in the cluster and deploys the service, it further includes confirming that the instructions in the cluster belong to the deployment instructions executed locally or remotely, so that the instructions in the cluster belong to When a deployment command is executed by the remote end, the message module is caused to call the cluster of the remote end, so that the deployment command executed by the remote end is executed in its corresponding cluster. In short, the instructions in the cluster may include local and remote instructions. If it is a local instruction, it can be directly executed by the cluster agent device that receives the instruction in the cluster. If it is a remote instruction, the control platform device will be notified. The message module makes a call to the remote terminal's cluster, and then transfers the remote terminal's instructions so that the deployment instructions executed by the remote terminal can be executed in the corresponding cluster.

步驟S405,令該叢集代理裝置之傳遞接收模組將部署結果回傳至該控制平台裝置,以供該控制平台裝置確認該服務是否部署完成。本步驟係指當部署模組完成自身叢集之部署安裝後,會產生部署結果並能透過傳遞接收模組將部署結果回傳至控制平台裝置,俾供控制平台裝置確認該服務之部署情況。於一實施例中,控制平台裝置透過其訊息模組接收該部署結果,並轉傳至部署管理模組以判斷部署是否完成。 Step S405, causing the transmission and reception module of the cluster agent device to transmit the deployment result back to the control platform device, so that the control platform device can confirm whether the service deployment is completed. This step means that after the deployment module completes the deployment and installation of its own cluster, it will generate a deployment result and can transmit the deployment result back to the control platform device through the delivery and reception module, so that the control platform device can confirm the deployment status of the service. In one embodiment, the control platform device receives the deployment result through its message module and forwards it to the deployment management module to determine whether the deployment is completed.

於其他實施例中,訊息模組主要是管理各叢集之間的訊息發送與傳遞,而該些叢集之間所傳遞之訊息包含同步訊息及/或非同步訊息。具體來說,控制平台裝置與叢集代理裝置之間的訊息接收為非同步,也就是控制平台裝置 發送出部署訊息後,無須等待叢集代理裝置的回覆,即可再執行其他程序,另外,各叢集代理裝置之間的訊息驅動為同步或由叢集代理裝置之網路應用程式介面(Web API)進行傳呼,簡言之,為了確保各代理裝置之間的通訊溝通,各代理裝置之間採用同步方式來傳遞訊息,亦可由各代理裝置之網路應用程式介面(Web API)來進行溝通。 In other embodiments, the message module mainly manages the sending and transmission of messages between clusters, and the messages transmitted between the clusters include synchronous messages and/or asynchronous messages. Specifically, the message reception between the control platform device and the cluster agent device is asynchronous, that is, the control platform device After sending the deployment message, you do not need to wait for a reply from the cluster agent device before you can execute other procedures. In addition, the message driver between the cluster agent devices is synchronized or performed by the Web Application Programming Interface (Web API) of the cluster agent device. Paging, in short, in order to ensure communication between each agent device, each agent device uses a synchronous method to transmit messages, and communication can also be carried out through the Web Application Programming Interface (Web API) of each agent device.

圖5為本發明之高可用服務之部署方法於一具體實施例的流程圖。 FIG. 5 is a flow chart of a method for deploying high-availability services according to the present invention in a specific embodiment.

於流程501,解析服務。首先,Kubernetes(K8S)是一種能管理微服務(microservices)的系統,可自動化地部署及管理多台機器上的容器(Container),而Helm即是管理設定檔之工具,而一個服務可能由多個helm圖表(helm chart)共同產生,本流程即分析圖表(chart)的內容,以確認可能因為環境不同需要置換的參數。 In process 501, parse service. First of all, Kubernetes (K8S) is a system that can manage microservices (microservices). It can automatically deploy and manage containers (Containers) on multiple machines. Helm is a tool for managing configuration files, and a service may be composed of multiple machines. A helm chart is generated together. This process analyzes the contents of the chart to confirm parameters that may need to be replaced due to different environments.

於流程502,解析網格內部署叢集,以串出叢集序列。本流程係說明當服務部署於一個服務網格內時,會先取得網格內之叢集資料,找出主要叢集與次要叢集,確認叢集排序與關係,以據之串接出叢集之部署順序,其中,部署架構可為主叢集(主主(Master-Master)架構)或者不同階級的主次叢集(主從(Master-Slave)架構)之分。 In process 502, clusters are deployed in the grid to string out cluster sequences. This process explains that when a service is deployed in a service grid, the cluster data in the grid will be obtained first, the primary cluster and the secondary cluster will be found, the cluster ordering and relationship will be confirmed, and the deployment sequence of the clusters will be connected accordingly. , where the deployment architecture can be divided into a main cluster (Master-Master architecture) or primary and secondary clusters of different levels (Master-Slave architecture).

於流程503,產生部署指令。本流程係指解析服務內的參數,例如是支援helm指令(helm command)、kubernets應用程式介面(kubernets api)、linux外殼命令(linux shell command)等,將指令順序依照服務設定並加上需要對應哪一個叢集執行加入,藉以產生叢集內指令。 In process 503, a deployment instruction is generated. This process refers to parsing the parameters in the service, such as supporting helm command (helm command), kubernets application programming interface (kubernets api), linux shell command (linux shell command), etc., and placing the command sequence according to the service settings and adding the required correspondence. Which cluster performs the join to generate intra-cluster instructions.

於流程504,針對叢集序列發送出部署指令至各代理裝置。本流程係說明包含部署指令(即叢集內指令)利用訊息內容包裝,針對叢集之訂閱的訊息 通道發送,即可發送至訊息管理中心(即指本發明之訊息模組),使用非同步訊息,待叢集內的代理裝置收取訊息,即完成平台送出訊息。 In process 504, a deployment command is sent to each agent device for the cluster sequence. This process describes the use of message content packaging including deployment instructions (i.e. instructions within the cluster) for cluster subscription messages. Channel sending can be sent to the message management center (that is, the message module of the present invention), using asynchronous messages. When the agent device in the cluster receives the message, the platform completes sending the message.

於流程505,代理裝置部署執行。本流程係說明叢集內的代理裝置收取訊息後,分析為叢集內可執行的和非叢集內可執行的指令,叢集內逕行執行部署指令包含helm指令(helm command)、kubernets應用程式介面(kubernets api)、linux外殼命令(linux shell command)等,而非叢集內可執行的指令則於下一流程處理。 In process 505, the agent device is deployed and executed. This process explains that after the agent device in the cluster receives the message, it analyzes it into instructions that are executable in the cluster and not executable in the cluster. The deployment instructions executed directly in the cluster include helm command (helm command), kubernets application programming interface (kubernets api) ), linux shell command, etc. Instructions that are not executable in the cluster are processed in the next process.

於流程506,多個代理裝置相互執行部署指令。本流程說明非本叢集內可執行的指令,可能是需要讀取或者得到另一叢集相關資料的指令,可利用同步訊息傳遞驅動另一叢集執行得到結果取得資料,在將此指令結果與原本叢集內的指令結果結合,產生此叢集代理裝置的部署結果。 In process 506, multiple agent devices execute deployment instructions with each other. This process explains that instructions that are not executable in this cluster may be instructions that need to read or obtain data related to another cluster. Synchronous message transmission can be used to drive the execution of another cluster to obtain the result and obtain the data. The result of this instruction is compared with the original cluster. The results of the instructions within are combined to produce the deployment result of this cluster agent device.

於流程507,收集所有叢集訊息。本流程說明從代理裝置回傳部署結果至控制平台裝置,當控制平台裝置收集到所有部署結果後,據之判定是否完成一個服務的部署或者變更。 In process 507, all cluster information is collected. This process describes the return of deployment results from the agent device to the control platform device. After the control platform device collects all the deployment results, it determines whether to complete the deployment or change of a service.

圖6為本發明之控制平台裝置建構部署叢集的流程圖。此流程圖是在主要的控制平台上,使用者進行一次服務部署或者更新所進行的流程,以下對於各流程分別詳細說明。 Figure 6 is a flow chart of the control platform device constructing and deploying clusters of the present invention. This flow chart is the process that users perform on the main control platform to deploy or update a service. Each process is explained in detail below.

於流程601,解析服務。於本流程中,當使用者需要進行邊緣(edge)端部署或者更新時,先進行服務解析,確認有幾個服務更新,如何部署,那一些需要使用kubernets應用程式介面(kubernets api)進行調整,那一些需要使用主機命令(host command)。 In process 601, parse service. In this process, when users need to deploy or update on the edge, they first perform service analysis to confirm how many services are updated, how to deploy them, and which ones need to be adjusted using the kubernets application programming interface (kubernets api). Those require the use of host commands.

於流程602,解析網格內部署叢集,以串出叢集序列。本流程為解析要進行服務安裝之邊緣端位處在哪一個服務網格內,逕行使用網格內已設定好的叢集資訊,解析叢集主副關係,叢集內容與需要部署的叢集和順序。 In process 602, the clusters deployed in the grid are parsed to string out the cluster sequence. This process is to analyze which service grid the edge terminal for service installation is located in. It uses the cluster information that has been set in the grid to analyze the primary and secondary cluster relationships, cluster content, and the clusters and sequences that need to be deployed.

於流程603,產生部署指令。本流程為藉由上述兩個流程關聯得到的資訊,產生部署服務需要的指令集,內部有代理裝置對應各式連接器(adaptor),例如使用Restful API、kubernetes指令、主機linux外殼命令(host linux shell command)以及函式庫通用語言架構(lib cli)指令。 In process 603, a deployment instruction is generated. This process is to generate the instruction set required to deploy the service by correlating the information obtained by the above two processes. There are agent devices inside corresponding to various connectors (adaptors), such as using Restful API, kubernetes instructions, and host linux shell commands (host linux shell command) and library common language architecture (lib cli) commands.

於流程604,針對叢集序列發送出部署指令至各代理裝置。本流程為利用流程603產生的指令集針對網格內的叢集序列發出非同步訊息通知,並對於發出之叢集訊息發出訂閱,等待此訂閱的回覆,並將服務狀態改為部署中,儲存於資料庫中。 In process 604, a deployment command is sent to each agent device for the cluster sequence. This process uses the instruction set generated in process 603 to issue an asynchronous message notification for the cluster sequence in the grid, and issues a subscription to the cluster message sent, waits for a reply from this subscription, and changes the service status to deploying, which is stored in the data in the library.

於流程605,非同步等待代理裝置回應部署結果。本流程係於流程604中把服務送出時,會進入等待狀態,等待叢集內的所有代理裝置回覆訊息。 In process 605, asynchronously waits for the agent device to respond to the deployment result. When the service is sent out in process 604, this process will enter a waiting state, waiting for all proxy devices in the cluster to reply messages.

於流程606,解析服務部署,完成部署。本流程係於收到代理裝置回覆後,需要解析每一個叢集代理回覆內容,針對此服務在網格內的所有叢集進行分析,確認是否完成一次服務部署。 In process 606, the service deployment is parsed and the deployment is completed. After receiving the reply from the agent device, this process needs to parse the reply content of each cluster agent, analyze all clusters in the grid for this service, and confirm whether a service deployment has been completed.

下面透過一個具體實施例之描述,說明本發明之技術內容。 The technical content of the present invention will be explained below through the description of a specific embodiment.

當要在兩個叢集建立高可用mongo資料庫(mongo database)時,可設定一個叢集為主要的(primary),另一個叢集為次要的(secondary),而建立服務內容可對應到helm chart檔案目錄,亦即,在values.yaml(yaml為一種描述設定的文字格式)裡面增加可解析的連接器(adaptor)指令,可在部署服務前和部署服務後執行屬 於虛擬機器(VM)層級的指令、kubectl指令等,上述內容包裝後成為一個helm chart檔案,上傳到控制平台裝置上,經解析後建立方案。 When you want to create a highly available mongo database in two clusters, you can set one cluster as primary and the other cluster as secondary, and the created service content can correspond to the helm chart file directory, that is, add parsable adapter instructions in values.yaml (yaml is a text format that describes settings), which can execute attributes before and after deploying the service. At the virtual machine (VM) level instructions, kubectl instructions, etc., the above content is packaged into a helm chart file, uploaded to the control platform device, and the plan is created after analysis.

控制平台裝置針對兩個叢集發送訊息,內容前述指令,叢集A收到訊息後,依序解析,分配指令執行者,並完成部署指令後,回覆訊息至控制平台裝置,叢集B收到訊息後,依序解析,分配指令執行者,並完成部署指令後,回覆訊息至控制平台裝置。控制平台裝置收到叢集A訊息,取回存在資料庫的部署資料,更新部署標的狀態為完成部署,控制平台裝置收到叢集B訊息,取回存在資料庫的部署資料,更新部署標的狀態為完成部署。平台裝置待兩叢集接傳回訊息後,即可對使用者發出部署完成的通知。 The control platform device sends a message to the two clusters. The content is the aforementioned command. After cluster A receives the message, it parses it in sequence, assigns the command executor, and completes the deployment command. After completing the deployment command, it replies the message to the control platform device. After cluster B receives the message, Analyze in sequence, assign the command executor, and after completing the deployment command, reply the message to the control platform device. The control platform device receives the cluster A message, retrieves the deployment data stored in the database, and updates the deployment target status to complete deployment. The control platform device receives the cluster B message, retrieves the deployment data stored in the database, and updates the deployment target status to complete. deploy. After the platform device receives the message from the two clusters, it can notify the user that the deployment is completed.

圖7為本發明之叢集代理裝置內部執行部署的流程圖。此流程圖是在叢集代理裝置所要執行的流程,以下對於各流程分別詳細說明。 FIG. 7 is a flow chart of internal deployment of the cluster agent device of the present invention. This flowchart is a process to be executed on the cluster agent device. Each process is described in detail below.

於流程701,代理裝置接收部署訊息。本流程係指叢集代理裝置能接收訊息,亦即當此叢集加入平台建立網格後,就會與控制平台裝置上的訊息模組建立連線,等待訊息發送。 In process 701, the agent device receives the deployment message. This process means that the cluster agent device can receive the message, that is, after the cluster joins the platform to establish a grid, it will establish a connection with the message module on the control platform device and wait for the message to be sent.

於流程702,解析訊息確認本地端執行。本流程係說明當收到部署訊息時會進入到訊息解析,確認是否為要在此叢集內執行的指令,若不是,則會利用訊息模組呼叫進入到流程703,若是,則會進入到流程704。 In process 702, the message is parsed to confirm local execution. This process explains that when a deployment message is received, it will enter the message parsing to confirm whether it is an instruction to be executed in this cluster. If not, the message module will be used to call the process 703. If it is, the process will be entered. 704.

於流程703,其他叢集裝置同步執行部署指令並回覆。本流程係指當指令需要其他叢集來執行時,就會利用訊息模組的同步訊息功能作為呼叫模式,指定叢集呼叫,此時被呼叫的叢集代理則會執行其代理處理,即類似流程702收訊息後進行流程704之本地端部署指令執行等程序,以於完成後回覆呼叫端叢集。 In process 703, other cluster devices execute the deployment command synchronously and respond. This process means that when the instruction requires other clusters to be executed, the synchronization message function of the message module will be used as the call mode to specify the cluster call. At this time, the called cluster agent will perform its agent processing, that is, similar to the process 702. After the message, the local deployment command execution and other procedures of process 704 are performed to reply to the calling end cluster after completion.

於流程704,本地端執行部署指令。本流程係指針對代理本地端需要執行的部署指令作為,待所有代理本地端指令完成後進入流程705。 In process 704, the local terminal executes the deployment instruction. This process refers to the deployment instructions that need to be executed on the local side of the agent. After all instructions on the local side of the agent are completed, process 705 is entered.

於流程705,確認指令完成,更改部署狀態。本流程須等待異地端與本地端完成回覆後再進行整個叢集的部署服務狀態判定,若其中有一個回覆失敗,則判斷整個叢集的部署失敗,若所有回覆都是成功的,則判斷整個叢集的部署成功,進行到流程706。 In process 705, the instruction is confirmed to be completed and the deployment status is changed. This process must wait for the remote end and the local end to complete the reply before judging the deployment service status of the entire cluster. If one of the replies fails, it is judged that the deployment of the entire cluster has failed. If all replies are successful, it is judged that the deployment of the entire cluster has failed. The deployment is successful and proceeds to process 706.

於流程706,代理裝置傳送部署訊息。本流程則是代理裝置負責將最後部署完的訊息回覆到訊息模組上,完成此次代理裝置所有任務。 In process 706, the agent device sends a deployment message. In this process, the agent device is responsible for replying the last deployed message to the message module and completing all tasks of the agent device.

此外,本發明還揭示一種電腦可讀媒介,係應用於具有處理器(例如,CPU、GPU等)及/或記憶體的計算裝置或電腦中,且儲存有指令,並可利用此計算裝置或電腦透過處理器及/或記憶體執行此電腦可讀媒介,以於執行此電腦可讀媒介時執行上述之方法及各步驟。 In addition, the present invention also discloses a computer-readable medium, which is applied to a computing device or computer having a processor (eg, CPU, GPU, etc.) and/or a memory, and stores instructions, and can utilize the computing device or computer. The computer executes the computer-readable medium through the processor and/or memory to perform the above methods and steps when executing the computer-readable medium.

本發明之模組、單元、裝置等包括微處理器及記憶體,而演算法、資料、程式等係儲存記憶體或晶片內,微處理器可從記憶體載入資料或演算法或程式進行資料分析或計算等處理,在此不予贅述。易言之,本發明之高可用服務之部署系統可於電子設備上執行,例如一般電腦、平板或是伺服器,在收到資料後執行分析與運算,故高可用服務之部署系統所進行程序,可透過軟體設計並架構在具有處理器、記憶體等元件之電子設備上,以於各類電子設備上運行;另外,亦可將高可用服務之部署系統之各模組或單元分別以獨立元件組成,例如設計為計算器、記憶體、儲存器或是具有處理單元的韌體,皆可成為實現本發明之組件,即本發明可選擇以軟體程式、硬體或韌體架構呈現。 The modules, units, devices, etc. of the present invention include a microprocessor and a memory, and algorithms, data, programs, etc. are stored in the memory or chip, and the microprocessor can load data or algorithms or programs from the memory. Processing such as data analysis or calculation will not be described in detail here. In other words, the high-availability service deployment system of the present invention can be executed on an electronic device, such as a general computer, a tablet, or a server, and performs analysis and calculations after receiving the data. Therefore, the high-availability service deployment system performs the procedures , can be designed and constructed through software on electronic devices with processors, memories and other components to run on various electronic devices; in addition, each module or unit of the high-availability service deployment system can also be independently configured Components, such as those designed as calculators, memories, storages or firmware with processing units, can all become components for implementing the present invention. That is, the present invention can be presented in the form of software programs, hardware or firmware architectures.

綜上,本發明之高可用服務之部署系統及其方法,係以服務網格網路架構為基礎,以雲端容器平台服務為叢集架構,利用分散式部署方式將使用者服務同時啟動於服務網格內之多個叢集,如此可達高可用性服務備份與分流效果,其中,當同一個服務部署於多個叢集內,需要不同的設定方式才可以使用主主(Master-Master)架構或者主從(Master-Slave)架構,因此,本發明利用部署指令差異化,代理裝置可透過接收與傳送指令到其他叢集或者於服務網格內RESTful API互通的方式,驅動其他叢集代理裝置調整設定,以完成服務高可用性部署機制。故本發明具有以下功效。 In summary, the high-availability service deployment system and method of the present invention are based on the service grid network architecture, use the cloud container platform service as the cluster architecture, and use the distributed deployment method to simultaneously launch user services on the service network. Multiple clusters in the grid can achieve high-availability service backup and offloading effects. When the same service is deployed in multiple clusters, different settings are required to use the master-master architecture or master-slave architecture. (Master-Slave) architecture, therefore, the present invention utilizes the differentiation of deployment instructions. The agent device can drive other cluster agent devices to adjust settings by receiving and sending instructions to other clusters or interoperating with RESTful APIs in the service grid to complete the Service high availability deployment mechanism. Therefore, the present invention has the following effects.

首先,本發明將所有叢集利用服務網格串連,利用網路連通的延伸,作為部署訊息的交換,藉此讓叢集間具有關聯性。 First, the present invention connects all clusters using a service grid and uses the extension of network connectivity to exchange deployment messages, thereby making clusters relevant.

其次,本發明對於部署與更新,只要針對服務網格內的一個叢集,即可擴展到其他叢集,達到分散式部署效果。 Secondly, the present invention only needs to target one cluster in the service grid for deployment and update, and can be extended to other clusters to achieve a distributed deployment effect.

再者,本發明利用代理裝置部署程式,可因不同的服務需求支援Restful API、kubernetes指令、主機linux外殼命令(host linux shell command)以及函式庫通用語言架構(lib cli)指令等,在服務內增加指令需求,亦可於代理裝置注入指令。 Furthermore, the present invention uses the agent device deployment program to support Restful API, kubernetes commands, host linux shell commands, and library common language architecture (lib cli) commands according to different service requirements. Add command requirements inside, and you can also inject commands into the agent device.

另外,本發明之叢集代理裝置可完成自我叢集部署,亦可透過同步訊息驅動其他叢集代理裝置取得相關資料,以協助原本的代理裝置完成設定。 In addition, the cluster agent device of the present invention can complete self-cluster deployment, and can also drive other cluster agent devices to obtain relevant data through synchronization messages to assist the original agent device to complete the configuration.

上述實施例僅為例示性說明,而非用於限制本發明。任何熟習此項技藝之人士均可在不違背本發明之精神及範疇下,對上述實施例進行修飾與 改變。因此,本發明之權利保護範圍係由本發明所附之申請專利範圍所定義,只要不影響本發明之效果及實施目的,應涵蓋於此公開技術內容中。 The above embodiments are only illustrative and not intended to limit the present invention. Anyone skilled in the art can modify and modify the above embodiments without departing from the spirit and scope of the invention. change. Therefore, the scope of rights protection of the present invention is defined by the scope of the patent application attached to the present invention. As long as it does not affect the effect and implementation purpose of the present invention, it should be covered by this disclosed technical content.

11:控制平台裝置 11:Control platform device

111:部署管理模組 111: Deployment management module

112:叢集網格模組 112: Cluster grid module

113:訊息模組 113:Message module

12:叢集代理裝置 12:Cluster proxy device

121:部署模組 121:Deploy module

122:執行序模組 122: Execution module

123:傳遞接收模組 123:Transmitting and receiving module

Claims (14)

一種高可用服務之部署系統,係包括: A high-availability service deployment system includes: 控制平台裝置,係用於分析欲部署之服務的內容及獲取網格內之叢集資料,以得到部署該服務所需之參數及所需叢集之部署順序,俾依據部署該服務所需之參數及該部署順序產生叢集內指令並發送該叢集內指令;以及 The control platform device is used to analyze the content of the service to be deployed and obtain the cluster data in the grid to obtain the parameters required to deploy the service and the deployment sequence of the required clusters, so as to deploy the service according to the parameters required and The deployment sequence generates intra-cluster instructions and sends the intra-cluster instructions; and 叢集代理裝置,係與該控制平台裝置通訊連接,用於收取並解析該叢集內指令,透過執行序之執行以進行該服務之部署,以及回傳部署結果至該控制平台裝置,俾供該控制平台裝置確認該服務是否部署完成。 The cluster agent device communicates with the control platform device and is used to receive and parse the instructions in the cluster, deploy the service through execution of the execution program, and return the deployment results to the control platform device for the control. The platform device confirms whether the service deployment is complete. 如請求項1所述之高可用服務之部署系統,其中,該控制平台裝置係包括: The high-availability service deployment system as described in claim 1, wherein the control platform device includes: 部署管理模組,係用於分析該服務的內容,以取得部署該服務所需之參數,以及依據部署該服務所需之參數及該部署順序而產生該叢集內指令; The deployment management module is used to analyze the content of the service to obtain the parameters required to deploy the service, and to generate instructions in the cluster based on the parameters required to deploy the service and the deployment sequence; 叢集網格模組,係用於取得網格內之叢集資料,以於確認部署該服務所需叢集之排序與關係後,串接出該部署順序;以及 The cluster grid module is used to obtain the cluster data in the grid to concatenate the deployment sequence after confirming the order and relationship of the clusters required to deploy the service; and 訊息模組,係用於傳送該叢集內指令,以及接收該叢集代理裝置所回傳之該部署結果而轉送至該部署管理模組。 The message module is used to transmit instructions within the cluster, receive the deployment result returned by the cluster agent device, and forward it to the deployment management module. 如請求項2所述之高可用服務之部署系統,其中,該訊息模組係用於管理各叢集之間的訊息發送與傳遞,且該些叢集之間所傳遞之訊息包含同步訊息及/或非同步訊息。 The deployment system for high-availability services as described in request 2, wherein the message module is used to manage the sending and delivery of messages between clusters, and the messages passed between the clusters include synchronization messages and/or Asynchronous messages. 如請求項1所述之高可用服務之部署系統,其中,該叢集代理裝置係包括: The high-availability service deployment system as described in claim 1, wherein the cluster agent device includes: 部署模組,係用於解析該叢集內指令以進行該服務之部署; The deployment module is used to parse the instructions in the cluster to deploy the service; 執行序模組,係用於進行該叢集內指令中有關本地端之執行序的執行;以及 The execution module is used to execute the local execution sequence of the instructions in the cluster; and 傳遞接收模組,係用於接收來自該控制平台裝置之部署訊息、傳送各該叢集代理裝置相互之間的驅動訊息、以及回傳該部署結果至該控制平台裝置。 The transmitting and receiving module is used to receive deployment messages from the control platform device, transmit driving messages between the cluster agent devices, and return the deployment results to the control platform device. 如請求項4所述之高可用服務之部署系統,其中,該部署模組係確認該叢集內指令屬於本地端執行的部署指令或是異地端執行的部署指令,以於該叢集內指令屬為該異地端執行的部署指令時,令該訊息模組對異地端之叢集進行呼叫,使該異地端執行的部署指令於其對應之叢集內被執行。 The deployment system for high-availability services as described in claim 4, wherein the deployment module confirms that the instructions in the cluster are deployment instructions executed locally or remotely, so that the instructions in the cluster are When the remote terminal executes a deployment command, the message module is caused to call the cluster of the remote terminal, so that the deployment command executed by the remote terminal is executed in its corresponding cluster. 如請求項1所述之高可用服務之部署系統,其中,該控制平台裝置與該叢集代理裝置之間的訊息接收為非同步,各該叢集代理裝置之間的訊息驅動為同步或由該叢集代理裝置之網路應用程式介面(Web API)進行傳呼。 The deployment system for high-availability services as described in claim 1, wherein the message reception between the control platform device and the cluster agent device is asynchronous, and the message drive between the cluster agent devices is synchronous or driven by the cluster. Proxy device's Web Application Programming Interface (Web API) for paging. 如請求項1所述之高可用服務之部署系統,其中,該部署結果包括本地端和異地端之所有叢集的部署結果。 The high-availability service deployment system as described in claim 1, wherein the deployment results include the deployment results of all clusters on the local side and the remote side. 一種高可用服務之部署方法,係由電腦設備執行該方法,該方法包括以下步驟: A method for deploying high-availability services is executed by computer equipment. The method includes the following steps: 令控制平台裝置之部署管理模組分析欲部署之服務的內容,以取得部署該服務所需之參數; Let the deployment management module of the control platform device analyze the content of the service to be deployed to obtain the parameters required to deploy the service; 令該控制平台裝置之叢集網格模組提供網格內之叢集資料,確認部署該服務所需叢集之排序與關係,以串接出部署順序; Let the cluster grid module of the control platform device provide the cluster data in the grid, confirm the order and relationship of the clusters required to deploy the service, and connect the deployment sequence; 令該部署管理模組依據部署該服務所需之參數及該部署順序,產生叢集內指令,以供該控制平台裝置之訊息模組傳送該叢集內指令; Cause the deployment management module to generate an intra-cluster command based on the parameters required to deploy the service and the deployment sequence, so that the message module of the control platform device can transmit the intra-cluster command; 由叢集代理裝置之部署模組解析該叢集內指令以進行該服務之部署,以及由該叢集代理裝置之執行序模組進行執行序的執行;以及 The intra-cluster instructions are parsed by the deployment module of the cluster agent device to deploy the service, and the execution program is executed by the execution module of the cluster agent device; and 令該叢集代理裝置之傳遞接收模組將部署結果回傳至該控制平台裝置,俾供該控制平台裝置確認該服務是否部署完成。 The transmitting and receiving module of the cluster agent device is caused to transmit the deployment result back to the control platform device, so that the control platform device can confirm whether the service deployment is completed. 如請求項8所述之高可用服務之部署方法,其中,該訊息模組係用於管理各叢集之間的訊息發送與傳遞,且該些叢集之間所傳遞之訊息包含同步訊息及/或非同步訊息。 The method of deploying a high-availability service as described in request 8, wherein the message module is used to manage message sending and transmission between clusters, and the messages transmitted between the clusters include synchronization messages and/or Asynchronous messages. 如請求項8所述之高可用服務之部署方法,其中,該控制平台裝置與該叢集代理裝置之間的訊息接收為非同步,各該叢集代理裝置之間的訊息驅動為同步或由該叢集代理裝置之網路應用程式介面(Web API)進行傳呼。 The method for deploying high-availability services as described in claim 8, wherein the message reception between the control platform device and the cluster agent device is asynchronous, and the message drive between the cluster agent devices is synchronous or driven by the cluster. Proxy device's Web Application Programming Interface (Web API) for paging. 如請求項8所述之高可用服務之部署方法,其中,由該叢集代理裝置之部署模組解析該叢集內指令以進行該服務之部署之步驟,係包括確認該叢集內指令屬於本地端執行的部署指令或是異地端執行的部署指令,以於該叢集內指令屬為該異地端執行的部署指令時,令該訊息模組對異地端之叢集進行呼叫,使該異地端執行的部署指令於其對應之叢集內被執行。 The method of deploying a high-availability service as described in claim 8, wherein the step of parsing the intra-cluster command by the deployment module of the cluster agent device to deploy the service includes confirming that the intra-cluster command belongs to local execution. The deployment command or the deployment command executed by the remote end, so that when the command in the cluster is a deployment command executed by the remote end, the message module is called to the cluster of the remote end, so that the deployment command executed by the remote end Executed within its corresponding cluster. 如請求項8所述之高可用服務之部署方法,其中,令該叢集代理裝置之傳遞接收模組將部署結果回傳至該控制平台裝置,俾供該控制平台裝置確認該服務是否部署完成之步驟,係指該控制平台裝置透過該訊息模組接收該部署結果,以轉傳至該部署管理模組判斷部署是否完成。 The method of deploying a high-availability service as described in claim 8, wherein the transmitting and receiving module of the cluster agent device is caused to transmit the deployment result back to the control platform device, so that the control platform device can confirm whether the service deployment is completed. Step means that the control platform device receives the deployment result through the message module and forwards it to the deployment management module to determine whether the deployment is completed. 如請求項8所述之高可用服務之部署方法,其中,該部署結果包括本地端和異地端之所有叢集的部署結果。 The method of deploying a high-availability service as described in claim 8, wherein the deployment results include the deployment results of all clusters on the local side and the remote side. 一種電腦可讀媒介,應用於計算裝置或電腦中,係儲存有指令,以執行如請求項8至13之任一者所述之高可用服務之部署方法。 A computer-readable medium, used in a computing device or computer, stores instructions to execute the method for deploying a high-availability service as described in any one of claims 8 to 13.
TW111113056A 2022-04-06 2022-04-06 System for deploying high availability service, method and computer readable medium thereof TWI795262B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW111113056A TWI795262B (en) 2022-04-06 2022-04-06 System for deploying high availability service, method and computer readable medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111113056A TWI795262B (en) 2022-04-06 2022-04-06 System for deploying high availability service, method and computer readable medium thereof

Publications (2)

Publication Number Publication Date
TWI795262B TWI795262B (en) 2023-03-01
TW202340942A true TW202340942A (en) 2023-10-16

Family

ID=86692277

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111113056A TWI795262B (en) 2022-04-06 2022-04-06 System for deploying high availability service, method and computer readable medium thereof

Country Status (1)

Country Link
TW (1) TWI795262B (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3644206A1 (en) * 2018-10-22 2020-04-29 Koninklijke Philips N.V. A container builder for individualized network services
CN113835844A (en) * 2021-09-29 2021-12-24 新华三大数据技术有限公司 Management method and device of container cluster and cloud computing platform
CN114253661A (en) * 2021-11-05 2022-03-29 贵州轻工职业技术学院 Product structure based on container cloud computing platform
CN114153580A (en) * 2021-11-25 2022-03-08 邦道科技有限公司 Cross-multi-cluster work scheduling method and device

Also Published As

Publication number Publication date
TWI795262B (en) 2023-03-01

Similar Documents

Publication Publication Date Title
US20180210752A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US7519950B2 (en) Method and system for version negotiation of distributed objects
CN112104723B (en) Multi-cluster data processing system and method
AU2019216773B2 (en) Live-rendered and forkable graphic edit trails
CN114077508B (en) Remote image rendering method and device, electronic equipment and medium
CN115242877B (en) Spark collaborative computing and operating method and device for multiple K8s clusters
CN113467873A (en) Virtual machine scheduling method and device, electronic equipment and storage medium
CN113726581B (en) Method and device for restoring factory configuration of network equipment and network equipment
TW202121869A (en) Management system and management method of vnf
CN116820527B (en) Program upgrading method, device, computer equipment and storage medium
TW202008154A (en) Software container based systems and methods for providing cloud services
CN109525443B (en) processing method and device for distributed pre-acquisition communication link and computer equipment
TW202340942A (en) System for deploying high availability service, method and computer readable medium thereof
KR102501542B1 (en) Method and apparatus for blockchain system startup, device, and storage medium
WO2022267646A1 (en) Pod deployment method and apparatus
US7568194B2 (en) Method and system for availability checking on distributed objects
CN115361382A (en) Data processing method, device, equipment and storage medium based on data group
CN115225482A (en) Method and device for configuring Pod network based on Kubernetes
WO2021022947A1 (en) Method for deploying virtual machine and related device
WO2015067052A1 (en) Method, device, and system for transmitting test command
US11954525B1 (en) Method and apparatus of executing collaborative job for spark faced to multiple K8s clusters
CN115640153B (en) System architecture, message processing method, device, electronic equipment and storage medium
WO2023198128A1 (en) Distributed resource sharing method and related apparatus
CN110365720B (en) Method, device and system for processing resource request
CN112433758A (en) Method, system, device and storage medium for calling platform function