Cluster deployment method, apparatus and system for edge computing, and device and medium
By creating target container groups in edge computing and using edge clusters to host them, users can purchase resources at the granularity of container groups, solving the problem of low resource utilization in traditional Kubernetes hosting solutions, achieving on-demand purchase and efficient resource management, and improving user experience.
Patent Information
- Application Number
- PCT/CN2025/077915
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-21
- Filing Date
- 2025-02-18
- Publication Date
- 2025-09-25
AI Technical Summary
In edge computing, users of traditional Kubernetes hosting solutions need to have precise resource planning for application scale, resulting in low resource utilization and serious resource waste. Users also need to manage the life cycle of nodes, resulting in a poor user experience.
By creating a target container group in the tenant cluster and using the edge cluster connected to the tenant cluster to host the target container group, users only need to hold the target container group in the virtual node, purchase resources on demand, and use the container group as the granularity for resource management, avoiding directly holding the real node of the edge cluster.
It improves the utilization of Node resources, reduces user cost investment, enhances user experience and satisfaction, realizes POD elastic scaling in seconds, and reduces the difficulty and time of user management of Node.
Smart Images

Figure CN2025077915_25092025_PF_FP_ABST
Abstract
Description
Cluster deployment method, device, system, equipment and medium for edge computing
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Chinese patent application number 202410330005.4, filed on March 21, 2024, entitled “Cluster deployment method, apparatus, system, equipment and medium for edge computing”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure relates to the field of edge computing technology, and in particular to a cluster deployment method, apparatus, system, equipment, and medium for edge computing. Background Art
[0004] Kubernetes (K8s) is an industrial-grade container orchestration platform primarily used for service deployment, elastic scaling, and management. It offers a variety of functions, including application deployment, scalability, and maintenance. The traditional Kubernetes architecture typically consists of a master node (Master) and worker nodes (Nodes). The master node is primarily responsible for cluster management and scheduling, while the worker nodes are responsible for running containers and interacting with the master node. Summary of the Invention
[0005] In view of this, the present disclosure provides a cluster deployment method, apparatus, system, device and medium for edge computing to solve the problem of low Node resource utilization that is easily caused by users holding Nodes in related technologies.
[0006] In a first aspect, the present disclosure provides a cluster deployment method for edge computing, the method comprising:
[0007] In response to the container group creation request, create a target container group in the tenant cluster;
[0008] A target cluster for hosting the target container group is selected from multiple preset edge clusters, and the multiple preset edge clusters are respectively connected to the tenant cluster for communication;
[0009] Select a target node corresponding to the target cluster from multiple virtual nodes in the tenant cluster, where the multiple virtual nodes correspond one-to-one to multiple preset edge clusters;
[0010] Configure the node field of the target container group according to the node name of the target node to schedule the target container group to the target node.
[0011] In a second aspect, the present disclosure provides a cluster deployment device for edge computing, the device comprising:
[0012] A creation module, configured to create a target container group in the tenant cluster in response to a container group creation request;
[0013] A screening module is used to screen a target cluster for carrying a target container group from a plurality of preset edge clusters, wherein the plurality of preset edge clusters are respectively connected to the tenant cluster for communication;
[0014] A selection module is used to select a target node corresponding to a target cluster from multiple virtual nodes in the tenant cluster, where the multiple virtual nodes correspond one-to-one to multiple preset edge clusters;
[0015] The update module is used to configure the node field of the target container group according to the node name of the target node, so as to schedule the target container group to the target node.
[0016] In a third aspect, the present disclosure provides a cluster deployment system for edge computing, the system comprising a tenant cluster and a target cluster, the tenant cluster comprising an application programming interface server and a scheduler;
[0017] An application programming interface server, configured to create a target container group in the tenant cluster in response to a container group creation request;
[0018] A scheduler, configured to select a target cluster for carrying a target container group from a plurality of preset edge clusters, and to select a target node corresponding to the target cluster from a plurality of virtual nodes in the tenant cluster, and to configure a node field of the target container group according to the node name of the target node, so as to schedule the target container group to the target node;
[0019] The plurality of preset edge clusters are respectively connected to the tenant clusters for communication, and the plurality of virtual nodes correspond one-to-one to the plurality of preset edge clusters.
[0020] In a fourth aspect, the present disclosure provides a computer device comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, computer instructions being stored in the memory, and the processor executing the computer instructions to execute the cluster deployment method for edge computing of the above-mentioned first aspect or any corresponding embodiment thereof.
[0021] In a fifth aspect, the present disclosure provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the cluster deployment method for edge computing of the above-mentioned first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0023] FIG1 is a flow chart of a cluster deployment method for edge computing according to an embodiment of the present disclosure;
[0024] FIG2 is a flow chart of another cluster deployment method for edge computing according to an embodiment of the present disclosure;
[0025] FIG3 is a flow chart of another cluster deployment method for edge computing according to an embodiment of the present disclosure;
[0026] FIG4 is a schematic structural diagram of a cluster deployment system for edge computing according to an embodiment of the present disclosure;
[0027] FIG5 is a flow chart of a process for creating a container group according to an embodiment of the present disclosure;
[0028] FIG6 is a structural block diagram of a cluster deployment device for edge computing according to an embodiment of the present disclosure;
[0029] FIG7 is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0030] To make the purpose, technical solutions, and advantages of the embodiments of the present disclosure more clear, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without making creative efforts shall fall within the scope of protection of the present disclosure.
[0031] In edge computing scenarios, cloud computing vendors can provide users with Kubernetes hosting solutions. Users must purchase virtual machines or nodes separately, so in traditional solutions, nodes are owned by the user. When using Kubernetes to manage containers, users must plan the application scale reasonably. For example, they must plan the total resources to be occupied by all applications to be deployed. However, the specifications of virtual machines or nodes sold by vendors are generally fixed. Therefore, for users, the purchased node resources often exceed the total required resources, resulting in resource waste and low resource utilization.
[0032] As an open-source containerized orchestration system, Kubernetes's functions include service discovery and load balancing, automatic service packaging, container storage orchestration, container fault recovery, automatic release and rollback, configuration and key storage, service-level scaling, batch execution, and daemon tasks. Containerized orchestration systems have become the standard for container orchestration in the cloud-native field. Users can use Kubernetes to reduce operation and maintenance costs and improve operation and maintenance efficiency. By using the standardized API (Application Programming Interface) provided by Kubernetes, they can effectively avoid cloud vendor lock-in. For users, Kubernetes provides a standard Kubernetes interface and improves the deployment efficiency of PAAS (Platform As A Service) applications through mirroring and containerized deployment, combined with CI (Continuous Integration) / CD (Continuous Delivery) processes. It can also improve node resource utilization and reduce usage costs through reasonable scheduling.
[0033] In edge computing scenarios, cloud computing vendors offer classic Kubernetes hosting solutions. Typically, users purchase virtual machines and manage the Kubernetes lifecycle, including installation, deployment, and upgrades. Nodes are owned by users. However, existing solutions present the following challenges: When using Kubernetes to manage containers, users must plan their application scale and capacity appropriately. For example, they must plan the resources each application will occupy (e.g., computing resources or storage resources), and the purchased Node resources must be greater than the total resources required by all applications. Furthermore, due to resource fragmentation, Node resources are inevitably greater than the total resources required by all applications, resulting in a certain amount of resource waste associated with these technologies. It can be seen that in traditional Kubernetes hosting solutions, users need to have precise resource planning for their business scale, and purchase virtual machines or Node devices on demand and manage them in Kubernetes; however, due to problems such as resource fragmentation, Node resources cannot perfectly cover the total resources to be occupied by all applications to be deployed, resulting in resource waste and low resource utilization; moreover, the business has peaks and troughs, and the resource occupation is relatively large during business peaks and relatively small during business troughs, so users need to purchase enough virtual machines in advance to cope with business peaks (i.e. traffic peaks), and some virtual machines need to be cleared during business troughs. The expansion or reduction of resources at the Node granularity is often at the minute level, and the minute-level management process takes up a long time for users; and the Node in related technologies is the user's own, and the user needs to maintain the Node life cycle, such as Node component upgrades, Node monitoring, alarm management, etc., which results in a poor user experience.
[0034] According to an embodiment of the present disclosure, an embodiment of a cluster deployment method for edge computing is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0035] The cluster deployment method for edge computing provided by the present disclosure creates a target container group in the tenant cluster, and the target container group is carried by the edge cluster connected to the tenant cluster. The target container group is scheduled to the virtual node in the tenant cluster. Therefore, in the solution of the present disclosure, the user only needs to hold the target container group in the virtual node, and does not need to hold the real Node in the edge cluster. Therefore, the user can purchase resources with the container group as the granularity, and can purchase resources that are closer to the actual capacity requirements according to the application scale planning, thereby better overcoming the problems of low Node resource utilization that are prone to occur in the method of users holding Nodes in related technologies, and significantly reducing the user's cost investment. Therefore, the present disclosure significantly improves the Node resource utilization, truly realizes the user's on-demand purchase of Node resources, and improves user experience and satisfaction.
[0036] In this embodiment, a cluster deployment method for edge computing is provided, which can be used for tenant clusters, specifically for the scheduler (edge-cluster-schedule) in the tenant k8s cluster.
[0037] FIG1 is a flow chart of a cluster deployment method for edge computing according to an embodiment of the present disclosure. As shown in FIG1 , the process includes the following steps:
[0038] Step S101: In response to a container group creation request, a target container group is created in a tenant cluster.
[0039] A "container group" is a POD, in which multiple containers can be deployed. In this embodiment, the tenant cluster is a tenant Kubernetes cluster. The Kubernetes cluster accessed by the tenant does not manage any machines, but replaces the real Kubernetes nodes with virtual nodes. The target container group is a virtual POD.
[0040] The tenant cluster of the embodiment of the present disclosure may be deployed on a computer device, which may be, for example, a user device.
[0041] In some optional embodiments, before responding to the container group creation request, the method further includes: creating multiple virtual nodes in the tenant cluster that correspond one-to-one to the multiple preset edge clusters, and the node names of the multiple virtual nodes are the same as the cluster names of the multiple preset edge clusters.
[0042] Among them, the multiple preset edge clusters of the embodiment of the present disclosure are all edge clusters in the resource pool. The edge cluster belongs to the edge data plane k8s cluster. The k8s cluster is a standard k8s cluster as a management method for edge computing resources. This embodiment follows the granularity of one Kubernetes cluster per computer room. For example, the Shanghai Telecom Kubernetes cluster manages the machines in the Shanghai Telecom computer room, the Hangzhou Telecom Kubernetes cluster manages the Kubernetes cluster in the Hangzhou Telecom computer room, and so on for other computer rooms. The virtual nodes of this embodiment, namely Virtual Node, have different virtual nodes corresponding to different regions. For example, one virtual node corresponds to Shanghai, and another virtual node corresponds to Hangzhou.
[0043] As shown in Figure 4, the preset edge cluster is connected to the tenant cluster in the form of a Virtual Node. The PODs in the tenant cluster are synchronized to the specified preset edge cluster through the corresponding Virtual Node. No real virtual machine resources are set in the tenant cluster, thereby achieving the purpose of starting PODs on demand. For example, in the tenant cluster in Figure 4, a virtual node (Virtual Node20) and the corresponding target container group (POD10) and target container group (POD11), a virtual node (Virtual Node21) and the corresponding target container group (POD12), a virtual node (Virtual Node22) and the corresponding target container group (POD13) can be set. The resource pool exemplifies the preset edge cluster (Kubernetes61, Shanghai Telecom), the preset edge cluster (Kubernetes62, Hangzhou Telecom), and the preset edge cluster (Kubernetes63, others). In the edge cluster Kubernetes61, a node agent (kubelet51) is set, as well as a real container group (POD40) corresponding to the target container group (POD10), a real container group (POD41) corresponding to the target container group (POD11), and a cluster management node (Kubernetes master30); in the edge cluster Kubernetes62, a node agent (kubelet52) and a real container group (POD42) corresponding to the target container group (POD12) are set up, and a cluster management node (Kubernetes master31) is set up; in the edge cluster Kubernetes63, a node agent (kubelet53) and a real container group (POD43) corresponding to the target container group (POD13) are set up, and a cluster management node (Kubernetes master32) is set up.
[0044] This embodiment can ensure that the node name of the virtual node corresponds to the cluster name of the preset edge cluster one by one, thereby ensuring that the solution can accurately access the corresponding preset edge cluster through the virtual node, providing resource support for users to create PODs.
[0045] Step S102 : Filter out a target cluster for hosting a target container group from a plurality of preset edge clusters, wherein the plurality of preset edge clusters are respectively communicatively connected with the tenant cluster.
[0046] Specifically, the multiple preset edge clusters in this embodiment may be all edge clusters in the resource pool. This embodiment can select an edge cluster that meets the requirements from all edge clusters in the resource pool according to preset configuration rules.
[0047] In some optional implementations, a preset tag is set in the container group creation request, and the preset tag is used to represent the configuration requirements of the target container group.
[0048] The above-mentioned selecting the target cluster for carrying the target container group from the plurality of preset edge clusters includes selecting the target cluster from the plurality of preset edge clusters based on the preset labels and the resource margins of the plurality of preset edge clusters.
[0049] Step S103 : selecting a target node corresponding to the target cluster from a plurality of virtual nodes in the tenant cluster, wherein the plurality of virtual nodes correspond one-to-one to a plurality of preset edge clusters.
[0050] When the target cluster is determined, since a one-to-one correspondence between preset edge clusters and virtual nodes is configured in advance, this embodiment can identify the virtual node corresponding to the target cluster according to the currently determined target cluster.
[0051] In some optional implementations, the cluster name of the target cluster is the same as the node name of the target node; and selecting the target node corresponding to the target cluster from multiple virtual nodes in the tenant cluster includes:
[0052] Step a1: Get the cluster name of the target cluster.
[0053] In this embodiment, each preset edge cluster has a name, and the node name of each target node is identical to the preset edge cluster name in a one-to-one correspondence.
[0054] Step a2: Select a virtual node with the same node name as the cluster name from multiple virtual nodes in the tenant cluster as the target node.
[0055] For multiple virtual nodes automatically registered in the tenant cluster, this embodiment can find the target node from the above multiple virtual nodes according to the obtained cluster name of the target cluster, thereby providing a reliable basis for on-demand scheduling of the container group.
[0056] Step S104 : configuring the node field of the target container group according to the node name of the target node, so as to schedule the target container group to the target node.
[0057] The node field of the target container group indicates the name of the node where the target container group runs. In this embodiment, the target container group is scheduled to the target node by configuring the node field of the target container group.
[0058] In some optional implementations, step S104 includes: setting the value of the node field of the target container group to the node name (Node Name) of the target node.
[0059] In this embodiment, the node name of the target node may be patched in the target POD, specifically setting the Node Name of the POD to the node name of the corresponding virtual node.
[0060] Based on the setting of the value of the node field of the target container group, this embodiment can implement a function of accurately scheduling the target container group.
[0061] The cluster deployment method for edge computing provided in this embodiment creates a target container group in a tenant cluster, and carries the target container group through an edge cluster connected to the tenant cluster. The target container group is scheduled to a virtual node in the tenant cluster. Therefore, in the solution of this embodiment, the user only needs to hold the target container group in the virtual node, without holding the real Node in the edge cluster. Therefore, the user can purchase resources at the granularity of the container group. The user only needs to pay for each POD purchased, and can purchase resources that are closer to the actual capacity demand according to the application scale planning, thereby better overcoming the problems of low Node resource utilization that are prone to occur in the user holding Node method in the related art, and significantly reducing the user's cost investment. Moreover, this embodiment carries the container group in the virtual node through the edge cluster in the resource pool. When the user expands or reduces resources, for the ready edge cluster, this embodiment can replace the Node minute-level management process in the related art with the POD second-level elastic scaling process, greatly improving user experience and satisfaction. In addition, this embodiment does not require the user to manage the Node, reducing the difficulty of the user using the POD, and the POD startup speed will also be faster. Therefore, this embodiment significantly improves the utilization rate of Node resources, enables users to purchase Node resources on demand at the POD granularity, and further improves user experience and satisfaction.
[0062] In this embodiment, a cluster deployment method for edge computing is provided, which can be used for tenant clusters. FIG2 is a flow chart of the cluster deployment method for edge computing according to an embodiment of the present disclosure. As shown in FIG2 , the process includes the following steps:
[0063] Step S201: In response to a container group creation request, a target container group is created in the tenant cluster. For details, please refer to step S101 of the embodiment shown in FIG1 , which will not be described in detail here.
[0064] Step S202 : Filter out a target cluster for hosting a target container group from a plurality of preset edge clusters, wherein the plurality of preset edge clusters are respectively communicatively connected with the tenant cluster.
[0065] Specifically, the preset label includes at least one of a region label, a computer room label, an operator label, and a city label. In combination with the aforementioned embodiment, based on the preset label and the resource margins of the multiple preset edge clusters, a target cluster is screened from the multiple preset edge clusters, including:
[0066] Step S2021 : Filter out a preset edge cluster that meets a preset label from multiple preset edge clusters.
[0067] Among them, the region (zone) tag indicates the region to which the edge cluster belongs, the computer room (idc) tag indicates the computer room to which the edge cluster belongs, the operator (isp) tag indicates the operator to which the edge cluster belongs, and the city (city) tag indicates the city where the edge computer room is located.
[0068] Specifically, the preset edge clusters can be filtered in sequence according to dimensions such as region (zone), data center (IDC), operator (ISP), and city (city). For example, the edge cluster of East China Telecom is selected according to the region, and then the Hangzhou cluster is selected from the edge cluster of East China Telecom according to the city.
[0069] More specifically, the plurality of preset tags may be configured in a designated configuration file (eg, a YAML file), and the plurality of preset tags may be represented by corresponding fields in the designated configuration file.
[0070] Step S2022 : Obtain resource margins of preset edge clusters that match preset tags, and determine a preset edge cluster whose resource margin meets the target container group operation requirements as a target cluster.
[0071] On the premise that the operating requirements of the target container group are met, this embodiment may determine a preset edge cluster with a larger resource margin as the target cluster.
[0072] In some optional implementations, the deployment method of the preset edge cluster includes: deploying a preset edge cluster in an edge computer room.
[0073] Based on the improved solution described above, this embodiment can fully meet customers' requirements for edge cluster selection, allowing them to host the PODs to be created using edge clusters that meet the requirements. By deploying one edge cluster in each edge data center, this embodiment can also fully ensure the stability and reliability of the edge cluster.
[0074] In step S203, a target node corresponding to the target cluster is selected from multiple virtual nodes in the tenant cluster, and the multiple virtual nodes correspond one-to-one to multiple preset edge clusters. For details, please refer to step S103 of the embodiment shown in Figure 1, which will not be repeated here.
[0075] In step S204, the node field of the target container group is configured according to the node name of the target node to schedule the target container group to the target node. For details, please refer to step S104 of the embodiment shown in FIG1 , which will not be repeated here.
[0076] In this embodiment, a cluster deployment method for edge computing is provided, which can be used for tenant clusters. FIG3 is a flow chart of the cluster deployment method for edge computing according to an embodiment of the present disclosure. As shown in FIG3 , the process includes the following steps:
[0077] Step S301: In response to a container group creation request, a target container group is created in the tenant cluster. For details, please refer to step S201 of the embodiment shown in FIG2 , which will not be repeated here.
[0078] In step S302, a target cluster for hosting the target container group is selected from multiple preset edge clusters, and the multiple preset edge clusters are respectively connected to the tenant clusters for communication. For details, please refer to step S202 of the embodiment shown in FIG2 , which will not be repeated here.
[0079] In step S303, a target node corresponding to the target cluster is selected from multiple virtual nodes in the tenant cluster, and multiple virtual nodes correspond one-to-one to multiple preset edge clusters. For details, please refer to step S203 of the embodiment shown in Figure 2, which will not be repeated here.
[0080] Step S304: Configure the node field of the target container group according to the node name of the target node to schedule the target container group to the target node. For details, please refer to step S204 of the embodiment shown in Figure 2, which will not be repeated here.
[0081] Step S305: Notify the target cluster to create a real container group corresponding to the target container group.
[0082] When creating a real container group, the target cluster in the disclosed embodiment may also create other information, such as configmaps (configuration mapping information) and secrets (key information), along with the real container group. When creating a real container group, specific container configuration information, resource configuration information, network configuration information, lifecycle management information, and so on may be deployed. It should be understood that the specific process for creating a real container group can be selected from relevant container group creation solutions and will not be further described in this embodiment.
[0083] Step S306: Receive the deployment information of the real container group sent by the target cluster, and synchronize the deployment information to the target container group.
[0084] After the target cluster successfully creates the real container group, it sends the deployment information of the real container group to the tenant cluster, and the tenant cluster user synchronizes the relevant information to the target container group.
[0085] Based on the above solution, this embodiment can better construct a mapping of the target container group to the actual container group, thereby improving the reliability of cluster deployment.
[0086] As shown in Figure 5, in the Kubernetes scenario, a virtual node agent (virtual-kubelet) is used to create a one-to-one correspondence between a virtual node and a preset edge cluster. This shows that the disclosed embodiment can provide a technical solution for edge Serverless (serverless) Kubernetes deployment based on virtual-kubelet. It can be seen that this embodiment implements Virtual Node based on virtual-kubelet, running in the tenant k8s cluster in the form of a POD. If a tenant creates a POD in the tenant k8s cluster, the Virtual Node is used to synchronize the POD to the corresponding edge cluster. Specifically, the tenant cluster (Kubernetes) of this embodiment includes an application programming interface server (kube-apiserver), a scheduler (edge-cluster-schedule) and a virtual node agent (virtual-kubelet). FIG5 shows a user sending a request to the kube-apiserver to create a virtual POD. After receiving the request, the kube-apiserver can feedback a message that the virtual POD has been successfully created to the user (the created virtual POD is not yet truly usable at this time). When the edge-cluster-schedule observes a pending POD, it checks the remaining resources of the preset edge cluster from a large number of preset edge clusters in the resource pool and selects a suitable edge cluster for the POD. The selected suitable edge cluster The cluster returns a message about the appropriate edge cluster to edge-cluster-schedule; edge-cluster-schedule performs POD scheduling, including setting the node name of the target node for the POD. For example, only PODs configured with the value of the spec.schedulerName field set to edge-serverless are scheduled, and a suitable edge cluster can be selected for the POD based on the resource situation of the edge cluster and the corresponding affinity of the POD; virtual-kubelet observes POD changes, including: discovering that the value of the POD's node field is the node name of the target node, notifying the above-mentioned appropriate edge cluster to create a real POD, and receiving a message from the edge cluster that the real POD has been successfully created. At this time, the POD can be used normally to provide relevant services to users.
[0087] In the Kubernetes scenario, a Virtual Node is automatically registered with the kube-apiserver by the virtual-kubelet process. Specifically, the information about the Virtual Node to be registered is determined by a user-preset configuration file (such as a YAML file). The Node Name is information about the edge Kubernetes cluster. For example, in Figure 4, the Virtual Node name corresponding to the Shanghai Telecom cluster (shanghaict) is shanghaict, and the Virtual Node name corresponding to the Hangzhou Telecom cluster (hangzhouct) is hangzhouct. Similarly, Virtual Node names are created based on the edge cluster name.
[0088] In this embodiment, since the real container group and the real node are deployed in the edge cluster, the maintenance of the real container group and the real node is provided by the cloud computing vendor, which realizes the function of node operation and maintenance-free for users, and achieves the purpose of Node Less (no nodes in the traditional sense) for users, thereby effectively reducing users' attention to the IAAS (Infrastructure As A Service) layer, reducing the user's time occupation, and improving the user experience and satisfaction with cloud service-related products.
[0089] In this embodiment, a cluster deployment device for edge computing is also provided, which is used to implement the above-mentioned embodiments and preferred implementation methods. The details that have been described will not be repeated here. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and conceivable.
[0090] This embodiment provides a cluster deployment device for edge computing, as shown in FIG6 , including:
[0091] The creation module 601 is configured to create a target container group in the tenant cluster in response to a container group creation request.
[0092] The screening module 602 is configured to screen a target cluster for hosting a target container group from a plurality of preset edge clusters, wherein the plurality of preset edge clusters are respectively communicatively connected with the tenant cluster.
[0093] The selection module 603 is configured to select a target node corresponding to a target cluster from a plurality of virtual nodes in the tenant cluster, wherein the plurality of virtual nodes correspond one-to-one to a plurality of preset edge clusters.
[0094] The updating module 604 is configured to configure the node field of the target container group according to the node name of the target node, so as to schedule the target container group to the target node.
[0095] In some optional implementations, a preset tag is provided in the container group creation request, and the preset tag is used to represent the configuration requirements of the target container group. Filtering module 602 is specifically configured to filter the target cluster from the plurality of preset edge clusters based on the preset tag and the resource margins of the plurality of preset edge clusters.
[0096] In some optional implementations, the preset tag includes at least one of a region tag, a machine room tag, an operator tag, and a city tag; and the screening module 602 includes:
[0097] The screening unit is configured to screen out a preset edge cluster that matches a preset label from a plurality of preset edge clusters.
[0098] The determining unit is configured to obtain resource margins of preset edge clusters that meet preset labels, and to determine a preset edge cluster whose resource margins meet the operating requirements of the target container group as a target cluster.
[0099] In some optional implementations, the deployment method of the preset edge cluster includes: deploying a preset edge cluster in an edge computer room.
[0100] In some optional implementations, the cluster name of the target cluster is the same as the node name of the target node; the selection module 603 includes:
[0101] Get unit, used to obtain the cluster name of the target cluster.
[0102] The selection unit is used to select a virtual node with the same node name as the cluster name from multiple virtual nodes in the tenant cluster as a target node.
[0103] In some optional embodiments, the cluster deployment device for edge computing also includes a virtual node generation module; the virtual node generation module is used to create multiple virtual nodes in the tenant cluster that correspond one-to-one to multiple preset edge clusters, and the node names of the multiple virtual nodes are the same as the cluster names of the multiple preset edge clusters.
[0104] In some optional implementations, the updating module 604 is specifically configured to set the value of the node field of the target container group to the node name of the target node.
[0105] In some optional implementations, the cluster deployment device for edge computing further includes a notification module and a synchronization module.
[0106] The notification module is used to notify the target cluster to create a real container group corresponding to the target container group.
[0107] The synchronization module is used to receive the deployment information of the real container group sent by the target cluster and to synchronize the deployment information to the target container group.
[0108] As shown in Figures 4 and 5, the embodiments of the present disclosure can also provide a cluster deployment system for edge computing, which includes a tenant cluster and a target cluster. In the Kubernetes scenario, the tenant cluster includes an application programming interface server (kube-apiserver) and a scheduler (edge-cluster-schedule).
[0109] The application programming interface server is configured to create a target container group in the tenant cluster in response to the container group creation request.
[0110] The scheduler is used to filter out a target cluster for carrying a target container group from multiple preset edge clusters, and to select a target node corresponding to the target cluster from multiple virtual nodes in the tenant cluster, and to configure the node field of the target container group according to the node name of the target node to schedule the target container group to the target node.
[0111] The plurality of preset edge clusters are respectively connected to the tenant clusters for communication, and the plurality of virtual nodes correspond one-to-one to the plurality of preset edge clusters.
[0112] In some optional embodiments, a preset tag is provided in the container group creation request, and the preset tag is used to represent the configuration requirements of the target container group. The scheduler is configured to select the target cluster from the plurality of preset edge clusters based on the preset tag and the resource margins of the plurality of preset edge clusters.
[0113] In some optional embodiments, the preset tag includes at least one of a region tag, a data center tag, a carrier tag, and a city tag. The scheduler is configured to select a preset edge cluster that matches the preset tag from the plurality of preset edge clusters, obtain resource margins for the preset edge clusters that match the preset tag, and determine as a target cluster a preset edge cluster whose resource margin meets the target container group operation requirements.
[0114] In some optional implementations, the deployment method of the preset edge cluster includes: deploying a preset edge cluster in an edge computer room.
[0115] In some optional implementations, the cluster name of the target cluster is the same as the node name of the target node; the scheduler is used to obtain the cluster name of the target cluster, and to select a virtual node with the same node name as the cluster name from multiple virtual nodes in the tenant cluster as the target node.
[0116] In some optional embodiments, the cluster deployment system for edge computing also includes a virtual node agent (virtual-kubelet), which is used to create multiple virtual nodes in the tenant cluster that correspond one-to-one to multiple preset edge clusters, and the node names of the multiple virtual nodes are the same as the cluster names of the multiple preset edge clusters.
[0117] In some optional implementations, the scheduler is specifically configured to set the value of the node field of the target container group to the node name of the target node.
[0118] In some optional implementations, the virtual node agent is used to notify the target cluster to create a real container group corresponding to the target container group, to receive deployment information of the real container group sent by the target cluster, and to synchronize the deployment information to the target container group.
[0119] The further functional description of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0120] The cluster deployment device for edge computing in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0121] An embodiment of the present disclosure also provides a computer device having the cluster deployment device for edge computing shown in FIG6 above.
[0122] Please refer to Figure 7, which is a structural diagram of a computer device provided by an optional embodiment of the present disclosure. As shown in Figure 7, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed within the computer device, including instructions stored in or on the memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7 takes a processor 10 as an example.
[0123] The processor 10 may be a central processing unit, a network processor, or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic, or any combination thereof.
[0124] The memory 20 stores instructions that can be executed by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.
[0125] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created based on the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely located relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0126] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid-state drive; the memory 20 may also include a combination of the above types of memory.
[0127] The computer device further includes a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0128] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or implemented as a computer code that can be recorded in a storage medium, or implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and downloaded through a network and will be stored in a local storage medium, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor or hardware, the method shown in the above embodiment is implemented.
[0129] Although the embodiments of the present disclosure have been described with reference to the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A cluster deployment method for edge computing, comprising: In response to the container group creation request, create a target container group in the tenant cluster; Filtering a target cluster for hosting the target container group from a plurality of preset edge clusters, wherein the plurality of preset edge clusters are respectively communicatively connected with the tenant cluster; Selecting a target node corresponding to the target cluster from a plurality of virtual nodes in the tenant cluster, wherein the plurality of virtual nodes correspond one-to-one to the plurality of preset edge clusters; The node field of the target container group is configured according to the node name of the target node, so as to schedule the target container group to the target node.
2. The method according to claim 1, wherein a preset tag is set in the container group creation request, and the preset tag is used to represent the configuration requirements of the target container group; and the step of selecting a target cluster for hosting the target container group from multiple preset edge clusters comprises: A target cluster is selected from the plurality of preset edge clusters based on the preset labels and the resource margins of the plurality of preset edge clusters.
3. The method according to claim 2, wherein the preset label comprises at least one of a region label, a data center label, a carrier label, and a city label; and selecting a target cluster from the plurality of preset edge clusters based on the preset label and the resource margins of the plurality of preset edge clusters comprises: Filtering a preset edge cluster that matches the preset label from the multiple preset edge clusters; The resource margins of the preset edge clusters that match the preset labels are obtained, and a preset edge cluster whose resource margins meet the target container group operation requirements is determined as the target cluster.
4. The method according to any one of claims 1 to 3, wherein The deployment method of the preset edge cluster includes: Deploy a preset edge cluster in an edge data center.
5. The method according to claim 1, wherein the cluster name of the target cluster is the same as the node name of the target node; The selecting a target node corresponding to the target cluster from the multiple virtual nodes in the tenant cluster includes: Get the cluster name of the target cluster; A virtual node with the same node name as the cluster name is selected from multiple virtual nodes in the tenant cluster as the target node.
6. The method according to claim 5, wherein before responding to the container group creation request, the method further comprises: The plurality of virtual nodes corresponding one-to-one to the plurality of preset edge clusters are created in the tenant cluster, and the node names of the plurality of virtual nodes are the same as the cluster names of the plurality of preset edge clusters in a one-to-one correspondence.
7. The method according to any one of claims 1 to 3 or 5 or 6, wherein configuring the node field of the target container group according to the node name of the target node comprises: The value of the node field of the target container group is set to the node name of the target node.
8. The method according to any one of claims 1 to 3, 5 or 6, wherein after configuring the node field of the target container group according to the node name of the target node, the method further comprises: Notify the target cluster to create a real container group corresponding to the target container group; Receive the deployment information of the real container group sent by the target cluster, and synchronize the deployment information to the target container group.
9. A cluster deployment device for edge computing, comprising: A creation module, configured to create a target container group in the tenant cluster in response to a container group creation request; A screening module, configured to screen a target cluster for hosting the target container group from a plurality of preset edge clusters, wherein the plurality of preset edge clusters are respectively communicatively connected with the tenant cluster; A selection module, configured to select a target node corresponding to the target cluster from a plurality of virtual nodes within the tenant cluster, the plurality of virtual nodes corresponding one-to-one to the plurality of preset edge clusters; An updating module is configured to configure a node field of the target container group according to a node name of the target node, so as to schedule the target container group to the target node.
10. A cluster deployment system for edge computing, the system comprising a tenant cluster and a target cluster, the tenant cluster comprising an application programming interface server and a scheduler; The application programming interface server is configured to create a target container group in the tenant cluster in response to a container group creation request; The scheduler is configured to filter out the target cluster for carrying the target container group from a plurality of preset edge clusters, select a target node corresponding to the target cluster from a plurality of virtual nodes in the tenant cluster, and configure the node field of the target container group according to the node name of the target node to schedule the target container group to the target node; The multiple preset edge clusters are respectively communicatively connected to the tenant clusters, and the multiple virtual nodes correspond one-to-one to the multiple preset edge clusters.
11. A computer device comprising: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the cluster deployment method for edge computing according to any one of claims 1 to 8 by executing the computer instructions.
12. A computer-readable storage medium having computer instructions stored thereon, wherein the computer instructions are used to enable a computer to execute the cluster deployment method for edge computing according to any one of claims 1 to 8.
Citation Information
Patent Citations
Container instance creation method and device based on multi-tenant management cluster
CN111309448A
Application scheduling method and platform and storage medium
CN113312161A
Cloud edge collaboration system and method for edge computing of Internet of Things
CN114490021A
Heterogeneous computing power scheduling method, device and equipment in multi-cloud scene and storage medium
CN117234687A
Cluster deployment method, device, system and equipment for edge computing and medium
CN117931379A