Method, device, processor and readable storage medium for deploying application system
By deploying the kubernetes container cluster management system on cloud and edge servers, establishing communication and collaborative access methods, the complex problems of data security and operation and maintenance in SaaS deployment methods are solved, and efficient and secure application system deployment and access are achieved.
Patent Information
- Application Number
- CN202211477668.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-23
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2042-11-23
AI Technical Summary
In the prior art, the data and applications of SaaS deployment methods are on the cloud, which leads to concerns about the upload of sensitive data; while local deployments have problems such as large investment in software and hardware costs and complex operation and maintenance.
Adopting the kubernetes container cluster management system architecture, the dispatching node and the first work node are deployed on the cloud server, the second work node is deployed on the edge server, and communication is established through interface services and long connection tunnels, splitting the application system into multiple modules and deploying to the cloud and edge servers respectively.
The application system module is implemented separately, and the collaborative access between the edge server and the cloud server is completed through the edge server, solving the security concerns in the cloud of sensitive data and the communication delay and operation and maintenance problems that may be caused by hardware direct connection to the cloud server, improving the access speed and security performance of the application.
Smart Images

Figure CN115866041B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a method, device, processor and readable storage medium for deploying an application system. Background Art
[0002] Application systems can usually be divided into two types according to their operation mode: C / S (Client / Server) and B / S (Browser / Server). Among them, B / S systems generally have two deployment modes: SaaS (Software-as-a-Service) deployment and local deployment. With SaaS deployment, there is no need for a local computer room and server. As long as there is a network, the system can be used through a browser. Local deployment packages the application system and deploys it to the server in the user's local computer room. Users access the local service and use the system through a browser. The advantages of SaaS deployment are that it does not require deployment, is ready to use, and has low usage costs. The disadvantages are that both data and applications are in the cloud, and enterprises are concerned about uploading some sensitive data. The advantages of local deployment are that both programs and data are local, with a high degree of control and low network latency for access, but there are disadvantages such as high software and hardware cost investment and complex operation and maintenance. There is an urgent need for a deployment method that can improve the defects of SaaS deployment and local deployment while giving full play to the advantages of SaaS deployment and local deployment. Summary of the invention
[0003] In view of the above-mentioned deficiencies in the prior art, an object of the embodiments of the present invention is to provide a method, an apparatus, a processor and a readable storage medium for deploying an application system.
[0004] In order to achieve the above object, the present invention provides a method for deploying an application system in a first aspect, comprising:
[0005] Deploy the scheduling node and the first working node on the cloud server based on the Kubernetes container cluster management system architecture; and
[0006] Deploy a second working node on the edge server;
[0007] Deploy the interface service to the scheduling node and the second working node to establish communication between the scheduling node and the second working node;
[0008] Establish a long connection tunnel between the cloud server and the edge server to enable communication between the cloud server and the edge server;
[0009] Push the container image corresponding to the application system to the first working node or the second working node;
[0010] Establish a connection between the terminal and the edge server so that the terminal can complete collaborative access with the cloud server through the edge server when the application system is running.
[0011] In an embodiment of the present invention, the interface service includes a first interface service and a second interface service, and the interface service is deployed to the scheduling node and the second working node to establish communication between the scheduling node and the second working node, including:
[0012] Deploying a first interface service in a scheduling node;
[0013] Exposing the interface corresponding to the first interface service to the Internet;
[0014] Deploy a second interface service in a second working node;
[0015] Communication between the scheduling node and the second working node is established based on the interface through the second interface service.
[0016] In the embodiment of the present invention, the second working node includes one or more, and the method further includes:
[0017] Control the edge server to cache key data from the cloud server based on the second interface service;
[0018] When an abnormality occurs in the first interface service, the edge server is controlled to schedule each second working node to work in coordination based on key data.
[0019] In an embodiment of the present invention, establishing a long connection tunnel between a cloud server and an edge server includes:
[0020] Deploy a cloud tunnel agent on the cloud server to support the communication; and
[0021] Deploy an edge tunnel agent that supports communication on the edge server;
[0022] A long connection tunnel is established between the cloud server and the edge server based on the cloud tunnel agent and the edge tunnel agent.
[0023] In an embodiment of the present invention, pushing a container image corresponding to an application system to a first working node or a second working node includes:
[0024] Split the application system into multiple application system modules that can run independently;
[0025] Determine the deployment location of each application system module based on the attributes corresponding to each application system module, and store it as a configuration file corresponding to the application system;
[0026] The container image corresponding to each application system module is pushed to the first working node or the second working node according to the configuration file.
[0027] In an embodiment of the present invention, it also includes:
[0028] The control scheduling node schedules the container image to run in the first working node or the second working node as an independent running unit.
[0029] In an embodiment of the present invention, a connection is established between a terminal and an edge server so that the terminal can complete collaborative access with a cloud server through the edge server when the application system is running, including:
[0030] The terminal is connected to the second working node through the local area network, so that when the application system is running, the terminal can complete the collaborative access with the cloud server through the second working node.
[0031] A second aspect of the present invention provides a device for deploying an application system, comprising:
[0032] A node deployment module is used to deploy a scheduling node and a first working node on a cloud server based on a Kubernetes container cluster management system architecture; and to deploy a second working node on an edge server;
[0033] A communication establishment module, used to deploy an interface service to the scheduling node and the second working node, so that communication is established between the scheduling node and the second working node;
[0034] The communication establishment module is also used to establish a long connection tunnel between the cloud server and the edge server to establish data communication between the cloud server and the edge server;
[0035] An image deployment module, used to push the container image corresponding to the application system to the first working node or the second working node;
[0036] The terminal access module is used to connect the terminal to the edge server so that the terminal can complete collaborative access with the cloud server through the edge server when the application system is running.
[0037] A third aspect of the present invention provides a processor configured to execute the method for deploying an application system as described in the above embodiment.
[0038] A fourth aspect of the present invention provides a machine-readable storage medium having instructions stored thereon, the instructions being used to enable a machine to execute the method for deploying an application system as described in the above embodiment.
[0039] Through the above technical solution, based on the Kubernetes container cluster management system architecture, the scheduling node and the first working node are deployed on the cloud server, and the second working node is deployed on the edge server; and the interface service is deployed to the scheduling node and the second working node to establish communication between the scheduling node and the second working node; a long connection tunnel is established between the cloud server and the edge server to establish communication between the cloud server and the edge server; the container image corresponding to the application system is pushed to the first working node or the second working node, which can realize the separate deployment of the application system modules, establish the connection between the terminal and the edge server, so that the terminal can complete the collaborative access with the cloud server through the edge server when the application system is running. By docking the edge server with hardware, the container technology is used to automate the deployment, upgrade and operation and maintenance, which solves the security risks of storing sensitive data on the cloud and the communication delay and operation and maintenance complexity that may be caused by the direct connection of hardware to the cloud server, and improves the convenience of using the application system while ensuring the access speed and security performance of the application.
[0040] Other features and advantages of the embodiments of the present invention will be described in detail in the subsequent detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The accompanying drawings are used to provide a further understanding of the embodiments of the present invention and constitute a part of the specification. Together with the following specific implementations, they are used to explain the embodiments of the present invention, but do not constitute a limitation on the embodiments of the present invention. In the accompanying drawings:
[0042] Figure 1 A schematic diagram of a flow chart of a method for deploying an application system according to an embodiment of the present invention;
[0043] Figure 2 A schematic diagram of interface service deployment according to an embodiment of the present invention;
[0044] Figure 3 A schematic diagram of long connection tunnel deployment according to an embodiment of the present invention;
[0045] Figure 4 A schematic diagram of collaborative operation data flow according to an embodiment of the present invention;
[0046] Figure 5 FIG. 4 is a schematic diagram of an overall deployment architecture according to an embodiment of the present invention. DETAILED DESCRIPTION
[0047] The specific implementation of the present invention is described in detail below in conjunction with the accompanying drawings. It should be understood that the specific implementation described here is only used to illustrate and explain the present invention, and is not used to limit the present invention.
[0048] It should be noted that if the embodiments of the present application involve directional indications (such as up, down, left, right, front, back...), the directional indications are only used to explain the relative position relationship, movement status, etc. between the components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly.
[0049] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of the present application, the descriptions of "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or suggesting their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in the field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.
[0050] Figure 1 FIG. 1 is a flow chart of a method for deploying an application system according to an embodiment of the present invention. Figure 1 As shown, in an embodiment of the present invention, a method for deploying an application system is provided, and the method is described by taking the application of the method to a processor as an example. The method may include the following steps:
[0051] Step S100, deploying a scheduling node and a first working node on a cloud server based on a kubernetes container cluster management system architecture; and
[0052] In this embodiment, it should be noted that Kubernetes (Container Cluster Management System) is an open source for managing containerized applications on multiple hosts in a cloud platform. Kubernetes provides a mechanism for application deployment, planning, updating, and maintenance. In Kubenetes, all containers run in Pods, and a Pod can carry one or more related containers. Cloud servers include public cloud servers, which perform cloud computing and are responsible for big data analysis of long-cycle data, and can operate in areas such as periodic maintenance and business decision-making. The scheduling node includes a node in the Kubernetes cluster that is responsible for the management and control of the entire cluster, such as a Master node, and all commands are processed by the scheduling node. The working node includes a workload node of the Kubernetes cluster, such as a Worker node. The scheduling node assigns work to the working node. When a working node goes down, the scheduling node automatically transfers the workload of the down working node to other working nodes. The first working node refers to a working node deployed on a cloud server. Specifically, the processor deploys the scheduling node and the first working node on the cloud server based on the Kubernetes system architecture.
[0053] Step S200, deploying a second working node on the edge server;
[0054] In the traditional way of deploying application systems, in the SaaS deployment method, both data and applications are on the cloud, and enterprises have concerns about uploading some sensitive data; while local deployment has the disadvantages of high software and hardware cost investment and complex operation and maintenance. In this embodiment, a cloud-edge hybrid deployment method is provided to split the application system, and deploy the split application system to the cloud server or edge server according to actual needs. It should be noted that the edge server includes a workstation host running locally, and the edge server performs edge computing, is closer to the device end, and focuses on the analysis of real-time, short-cycle data to better support the timely processing and execution of local business. The second working node refers to the working node deployed on the edge server.
[0055] Step S300, deploying an interface service to the scheduling node and the second working node, so that communication is established between the scheduling node and the second working node;
[0056] In this embodiment, it should be noted that the interface service is the external interface of the entire system, which is called by the client and other components. It provides the entry for adding, deleting, modifying, and checking all resources in the Kubernetes cluster, and provides mechanisms such as authentication, authorization, access control, API registration, and discovery.
[0057] Specifically, the interface service includes a first interface service and a second interface service, and the interface service is deployed to the scheduling node and the second working node to establish communication between the scheduling node and the second working node, including:
[0058] Step a, deploying a first interface service in a scheduling node;
[0059] Step b, exposing the interface corresponding to the first interface service to the Internet;
[0060] Step c, deploying a second interface service in a second working node;
[0061] Step d: establishing communication between the scheduling node and the second working node based on the interface through the second interface service.
[0062] In this embodiment, it should be noted that the first interface service includes an interface service deployed at the scheduling node of the cloud server, such as an API (Application Programming Interface) Server. In the Kubernetes cluster, the first interface service provides an API interface for the entire cluster management, and provides a hub for communication between nodes within the cluster. The health of each node depends on the stability of the communication of the first interface service. In this embodiment, when the application system adopts a cloud-edge hybrid deployment method, due to the large number of edge servers that may be widely distributed, the network environment is complex, and the Internet, Ethernet, 5G, WIFI and other forms are all possible. The network environment between the cloud server and the edge server is relatively complex, and the network quality is uneven and unguaranteed. Therefore, the second interface service is deployed in the second working node of the edge server, so that the node of the edge server and the cloud server continue to work normally when the network is weak or disconnected, and ensure that the running business is not affected, so as to achieve the purpose of edge autonomy. The second interface service includes an interface service deployed at the second working node of the edge server, such as Lite-Apiserver. Lite-Apiserver is a lightweight Apiserver running on the edge server node. It proxies all components and business containers on the nodes deployed by the edge server to access the cloud server Apiserver in the form of HTTPS (Hypertext Transfer Protocol Secure), and caches the request results efficiently. In the event of cloud-edge disconnection, these caches are used to provide services to achieve edge autonomy. Specifically, the processor deploys a first interface service in the scheduling node and exposes the interface corresponding to the first interface service to the Internet; deploys a second interface service in the second working node so that the components in the second working node can establish communication between the scheduling node and the second working node through the second interface service.
[0063] Step S400, establishing a long connection tunnel between the cloud server and the edge server to establish communication between the cloud server and the edge server;
[0064] In this embodiment, it should be noted that after the application system is deployed through cloud-edge hybrid deployment, the cloud server and the edge server need to be able to exchange data in order to jointly complete the business process. The cloud server usually has a fixed public IP address (Internet Protocol Address), and the edge server can directly send data to the cloud server application by requesting the IP address and port of the cloud server. Since the edge server is deployed locally on the customer, it does not necessarily have a fixed IP address. In order to enable the cloud server to send data to the edge server regardless of whether the edge server has a fixed public IP address, in this embodiment, the processor establishes a long connection tunnel between the cloud server and the edge server so that the cloud server and the edge server can send and receive data in both directions. Among them, the long connection tunnel includes a connection method in which multiple data packets can be sent continuously on one connection.
[0065] Step S500, pushing the container image corresponding to the application system to the first working node or the second working node;
[0066] In this embodiment, it should be noted that the working node includes the workload node of the kubernetes cluster, the workload on the working node is allocated by the scheduling node, and the workload mainly runs the container application. The container image of the application system is pushed to the working node for operation. The first working node is deployed on the cloud server, and the second working node is deployed on the edge server. Since there is a risk of leakage when uploading sensitive data to the cloud server, and the local deployment has the disadvantages of large software and hardware cost investment and complex operation and maintenance, in this embodiment, the application system can be split into multiple application system modules that can run independently, and deployed to the first working node or the second working node respectively based on the corresponding attributes of each application system module. Through the collaborative work of the cloud edge, the application system can have the advantages of the SaaS deployment model while solving the problems of local data security, software and hardware docking and low-latency communication, and reducing the difficulty of local operation and maintenance.
[0067] Step S600, establishing a connection between the terminal and the edge server, so that when the application system is running, the terminal can complete collaborative access with the cloud server through the edge server.
[0068] In this embodiment, it should be noted that the terminal includes a device terminal running locally on the customer. After realizing the communication between the edge server and the cloud server and completing the hybrid cluster component based on the Kubernetes system architecture, the terminal device is connected to the edge server so that the terminal can exchange data with the cloud server through the edge server.
[0069] Specifically, a connection is established between the terminal and the edge server so that the terminal can complete collaborative access with the cloud server through the edge server when the application system is running, including:
[0070] Step e: Connect the terminal to the second working node through the local area network, so that when the application system is running, the terminal can complete collaborative access with the cloud server through the second working node.
[0071] In this embodiment, it should be noted that the terminal is connected to the Worker node of the edge server through a local area network. The Worker node can collect data information related to the terminal device and control the terminal device. When the terminal needs to upload data to the cloud server, data can be transmitted through the long connection tunnel between the cloud server and the edge server.
[0072] The above method for deploying an application system deploys a scheduling node and a first working node on a cloud server based on the Kubernetes container cluster management system architecture, and deploys a second working node on an edge server; and deploys an interface service to the scheduling node and the second working node to establish communication between the scheduling node and the second working node; establishes a long connection tunnel between the cloud server and the edge server to establish communication between the cloud server and the edge server; pushes the container image corresponding to the application system to the first working node or the second working node, which can realize the separate deployment of application system modules, establish a connection between the terminal and the edge server, so that the terminal can complete collaborative access with the cloud server through the edge server when the application system is running. By docking the edge server with hardware, the container technology is used to automatically deploy, upgrade and operate and maintain, which solves the security concerns of storing sensitive data on the cloud and the communication delay and operation and maintenance complexity that may be caused by the direct connection of hardware to the cloud server, improving the convenience of using the application system while ensuring the access speed and security performance of the application.
[0073] In one embodiment, the second working node includes one or more, and the method further includes:
[0074] Step f, controlling the edge server to cache key data from the cloud server based on the second interface service;
[0075] Step g: When an abnormality occurs in the first interface service, the edge server is controlled to schedule each second working node to work collaboratively based on key data.
[0076] In this embodiment, it should be noted that all requests for the first interface service on the node of the edge server will be sent to the second interface service, and forwarded to the first interface service by the second interface service. For the node of the edge server, the function provided by the second interface service is the same as the first interface service. It proxies the requests of all components and business containers on the nodes deployed by the edge server to access the cloud server Apiserver in HTTPS mode, and caches the request results efficiently. Key data may include data for scheduling the second working node and the access results corresponding to the access request initiated by the first service interface. When there is an abnormality in the first interface service or the cloud server is disconnected from the edge server, the second interface service can use key data to continue to schedule each second working node to work together. In this embodiment, the use of the second interface service effectively improves the disaster recovery capability of the application system in the case of weak network or network disconnection.
[0077] refer to Figure 2 , the components (Kubelet, Pod, OfflineData) on the second working node Worker of the edge server will send requests to the first interface service Apiserver on the first working node Master of the cloud server to the second interface service Lite-Apiserver, and Lite-Apiserver will forward them to Apiserver via HTTPS.
[0078] In one embodiment, establishing a long connection tunnel between a cloud server and an edge server includes:
[0079] Step h, deploying a cloud tunnel agent supporting communication on the cloud server; and
[0080] Step i, deploying an edge tunnel agent supporting communication on the edge server;
[0081] Step j: Establish a long connection tunnel between the cloud server and the edge server based on the cloud tunnel agent and the edge tunnel agent.
[0082] A tunnel proxy is essentially a high-speed HTTP (Hyper Text Transfer Protocol) tunnel, a type of proxy IP method that can automatically change IPs on the proxy server by forwarding requests to different proxy IPs. It should be noted that after the application system is deployed through cloud-edge hybrid, the cloud server and the edge server need to be able to interact with data to jointly complete the business process. Cloud servers usually have fixed public IP addresses, and edge servers can directly send data to cloud server applications by requesting the IP address and port of the cloud server. Since edge servers are deployed locally on the customer's site, they do not necessarily have fixed IP addresses. In order to achieve this, regardless of whether the edge server has a fixed public IP address, the cloud server can send data to the edge server. Reference Figure 3 In this embodiment, a cloud tunnel agent supporting communication is deployed on the cloud server and an edge tunnel agent supporting communication is deployed on the edge server to establish a long connection tunnel between the cloud server and the edge server, so as to realize bidirectional data transmission and reception between the scheduling node Master in the cloud server and the second working node Worker in the edge server. Among them, the cloud tunnel agent and the edge tunnel agent can communicate based on communication protocols such as TCP (Transmission Control Protocol), HTTP, and HTTPS. In this embodiment, business data transmission between the cloud server and the edge server is realized based on the cloud tunnel agent and the edge tunnel agent, which improves the collaborative ability between the cloud and the edge.
[0083] In one embodiment, pushing the container image corresponding to the application system to the first working node or the second working node includes:
[0084] Step k, splitting the application system into multiple application system modules that can run independently;
[0085] Step 1, determining the deployment location of each application system module based on the attributes corresponding to each application system module, and storing it as a configuration file corresponding to the application system;
[0086] Step m: push the container image corresponding to each application system module to the first working node or the second working node according to the configuration file.
[0087] In this embodiment, it should be noted that in order to achieve the advantages of the SaaS deployment mode while solving the problems of local data security, software and hardware docking and low-latency communication and reducing the difficulty of local operation and maintenance, in this embodiment, the application system is split into multiple application system modules that can run independently, and the deployment location of each application system module is determined based on the attributes corresponding to each application system module, and stored as a configuration file corresponding to the application system. The deployment location includes the first working node and the second working node. The attributes of the application system module may include the properties and relationships of the application system module such as data sensitivity, delay, and hardware access requirements. For example, when determining the deployment location, the deployment location of the application system module involving sensitive data is determined to be the local second working node to enhance data security; the deployment location of the application system module that requires hardware direct connection is determined to be the local second working node to reduce communication delay and reduce the complexity of operation and maintenance. The configuration file describes the deployment location of each application system module, and the configuration file can be parsed to pull the container image corresponding to each application system module for push. The container image includes the packaged application corresponding to the application module and its dependencies, as well as information about the process running at startup, and the container image runs in the working node. Specifically, the processor will push the container image corresponding to each application system module to the first working node or the second working node according to the configuration file. In this embodiment, container technology is used to realize automated deployment, upgrade and operation and maintenance, reduce data risks, reduce communication delays, and improve the operation capacity of the application system.
[0088] In one embodiment, the method further comprises:
[0089] Step n, controlling the scheduling node to schedule the container image to run in the first working node or the second working node as an independent running unit.
[0090] In this embodiment, it should be noted that the independent operation unit can isolate different container images to achieve independent operation, such as Pod. Specifically, after the processor pushes the container image to the first working node or the second working node, the control scheduling node schedules the container image to run in the first working node or the second working node as an independent operation unit.
[0091] refer to Figure 4 In one embodiment, the user accesses the local edge server application through a browser. When the cloud server data needs to be requested, the edge tunnel agent requests the cloud server data to the local through a long connection tunnel, and then returns to the user's browser to achieve cloud-edge collaborative access.
[0092] refer to Figure 5The deployment of the application system includes three ends: cloud server, edge server and terminal. The cloud server is responsible for container image management through the cloud management platform, deploys the Master node based on the Kubernetes system architecture and the Worker node working on the cloud server, runs the Pod that needs to work on the cloud server in the Worker node, and deploys the cloud tunnel agent on the cloud server to establish a long connection tunnel with the edge server; in the edge server, a Worker node based on the Kubernetes system architecture is locally deployed in each client 1 to client N corresponding to the application system, runs the Pod that needs to work on the edge server in the Worker node, and deploys the edge tunnel agent for actively establishing a long connection tunnel supporting TCP, HTTP, and HTTPS communication protocols with the cloud tunnel agent, and proxies the cloud server request to the second interface service of the corresponding edge server; the terminal includes a terminal device running locally on the client, which is in a local area network with the Worker node of the edge server, and can be directly connected to the Worker node of the edge server, supporting uplink data transmission and downlink control command sending.
[0093] In the prior art, SaaS deployment or local deployment cannot simultaneously meet the requirements of security protection of sensitive data, reduction of software and hardware costs, and simplification of operation and maintenance. In this embodiment, a scheduling node and a first working node are deployed on a cloud server based on the Kubernetes container cluster management system architecture, and a second working node is deployed on an edge server; an interface service is deployed to the scheduling node and the second working node to establish communication between the scheduling node and the second working node; a long connection tunnel is established between the cloud server and the edge server based on a cloud tunnel agent and an edge tunnel agent to establish communication between the cloud server and the edge server; the application system is split to obtain application system modules, and the container images corresponding to the application system modules are pushed to the first working node or the second working node based on the configuration file, so as to realize the separate deployment of application system modules, and the terminal is connected to the second working node through a local area network, so that when the application system is running, the terminal can complete collaborative access with the cloud server through the second working node. By connecting the hardware to the edge server and using container technology to automate deployment, upgrades, and operations, we resolve security concerns about storing sensitive data in the cloud and the communication delays and operational complexity that may be caused by directly connecting hardware to cloud servers. This improves the convenience of using the application system while ensuring the access speed and security performance of the application.
[0094] An embodiment of the present invention provides a device for deploying an application system, including:
[0095] A node deployment module is used to deploy a scheduling node and a first working node on a cloud server based on a Kubernetes container cluster management system architecture; and to deploy a second working node on an edge server;
[0096] A communication establishment module, used to deploy an interface service to the scheduling node and the second working node, so that communication is established between the scheduling node and the second working node;
[0097] The communication establishment module is also used to establish a long connection tunnel between the cloud server and the edge server to establish data communication between the cloud server and the edge server;
[0098] An image deployment module, used to push the container image corresponding to the application system to the first working node or the second working node;
[0099] The terminal access module is used to connect the terminal to the edge server so that the terminal can complete collaborative access with the cloud server through the edge server when the application system is running.
[0100] The device for deploying an application system includes a processor and a memory. The node deployment module, communication establishment module, mirror deployment module, and terminal access module are all stored in the memory as program units, and the processor executes the program units stored in the memory to implement corresponding functions.
[0101] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0102] The device for deploying an application system provided in the embodiment of the present application can achieve Figure 1 The various processes of the method for deploying the application system in the method embodiment can achieve the same technical effect. To avoid repetition, they will not be described here.
[0103] An embodiment of the present invention provides a processor, wherein the processor is used to run a program, wherein the method for deploying an application system is executed when the program is running.
[0104] An embodiment of the present invention provides a machine-readable storage medium on which a program is stored. When the program is executed by a processor, the method for deploying an application system is implemented.
[0105] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0106] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0107] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0108] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0109] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0110] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0111] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0112] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0113] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.
Claims
1. A method for deploying an application system, characterized in that: include: Deploy the scheduling node and the first working node on the cloud server based on the Kubernetes container cluster management system architecture; Deploy a second working node on the edge server; Deploy an interface service to the scheduling node and the second working node to establish communication between the scheduling node and the second working node; Establishing a long connection tunnel between the cloud server and the edge server to establish communication between the cloud server and the edge server; Pushing the container image corresponding to the application system to the first working node or the second working node; Establishing a connection between the terminal and the edge server so that the terminal can complete collaborative access with the cloud server through the edge server when the application system is running; The step of pushing the container image corresponding to the application system to the first working node or the second working node includes: Splitting the application system into multiple independently operable application system modules; Determine the deployment location of each of the application system modules based on the attributes corresponding to each of the application system modules, so that the application system modules involving sensitive data or the application system modules requiring direct hardware connection are deployed on the second working node and stored as a configuration file corresponding to the application system, wherein the attributes include data sensitivity and hardware access requirements; According to the configuration file, the container image corresponding to each of the application system modules is pushed to the first working node or the second working node.
2. The method according to claim 1, characterized in that The interface service includes a first interface service and a second interface service, and the deploying the interface service to the scheduling node and the second working node so as to establish communication between the scheduling node and the second working node includes: Deploying a first interface service in the scheduling node; Exposing the interface corresponding to the first interface service to the Internet; Deploying a second interface service in the second working node; Communication between the scheduling node and the second working node is established based on the interface through the second interface service.
3. The method according to claim 2, characterized in that The second working node includes one or more, and the method further includes: Controlling the edge server to cache key data from the cloud server based on the second interface service; When an exception occurs in the first interface service, the edge server is controlled to schedule each of the second working nodes to work in coordination based on the key data.
4. The method according to claim 1, characterized in that The establishing of a long connection tunnel between the cloud server and the edge server includes: Deploying a cloud tunnel agent supporting communication on the cloud server; Deploy an edge tunnel agent supporting communication on the edge server; A long connection tunnel between the cloud server and the edge server is established based on the cloud tunnel agent and the edge tunnel agent.
5. The method according to claim 1, characterized in that Also includes: The scheduling node is controlled to schedule the container image to run in the first working node or the second working node as an independent running unit.
6. The method according to claim 1, characterized in that The establishing of a connection between the terminal and the edge server so that the terminal can complete collaborative access with the cloud server through the edge server when the application system is running includes: The terminal is connected to the second working node via a local area network, so that when the application system is running, the terminal can complete collaborative access with the cloud server via the second working node.
7. A device for deploying an application system, characterized in that: include: A node deployment module is used to deploy a scheduling node and a first working node on a cloud server based on the Kubernetes container cluster management system architecture; and deploying a second working node on the edge server; A communication establishment module, used to deploy an interface service to the scheduling node and the second working node, so that communication is established between the scheduling node and the second working node; The communication establishment module is further used to establish a long connection tunnel between the cloud server and the edge server, so as to establish data communication between the cloud server and the edge server; An image deployment module, used to push the container image corresponding to the application system to the first working node or the second working node; A terminal access module, used to connect a terminal to the edge server, so that when the application system is running, the terminal can complete collaborative access with the cloud server through the edge server; The image deployment module is also used for: Splitting the application system into multiple independently operable application system modules; Determine the deployment location of each of the application system modules based on the attributes corresponding to each of the application system modules, so that the application system modules involving sensitive data or the application system modules requiring direct hardware connection are deployed on the second working node and stored as a configuration file corresponding to the application system, wherein the attributes include data sensitivity and hardware access requirements; According to the configuration file, the container image corresponding to each of the application system modules is pushed to the first working node or the second working node.
8. A processor, characterized in that: The method is configured to execute the method for deploying an application system according to any one of claims 1 to 6.
9. A machine-readable storage medium having instructions stored thereon, the instructions being used to enable a machine to execute the method for deploying an application system as claimed in any one of claims 1 to 6.
Citation Information
Patent Citations
Software deployment method and device and related nodes
CN111026405A
Cloud side storage resource management system and method, storage medium and electronic equipment
CN114338722A