Edge computing platform container network management method and system
By creating user-defined resources and deploying node network managers on the edge computing platform, the problems of insufficient performance and lack of isolation of a single network plane are solved, efficient container network management and diversified network connection modes are achieved, and the adaptability and performance of the system are improved.
Patent Information
- Application Number
- CN202411874214.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-19
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-12-19
AI Technical Summary
In scenarios where network requirements are high, the performance of a single network card is difficult to reach the production level, resulting in problems such as network bandwidth, traffic delay and network blockage. The single network plane lacks network isolation and is difficult to implement complex network policies.
By creating user-defined resources, including cluster node packets, namespace packets, workload packets, network interfaces and subnets, and sorting and prioritizing containers according to the weight of workload packets, deploying node network managers for network configuration and management, and setting up workload packet gateways to control network traffic policies.
It significantly enhances the network flexibility and expansion capabilities of the container, provides a diversified network connection mode, realizes unified management of pods under nodes and namespaces, simplifies network configuration and maintenance, improves network resource utilization efficiency and service quality, and ensures the network performance of key applications and the stability and reliability of the overall system.
Smart Images

Figure CN119697195A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of Internet of Things, and in particular to an edge computing platform container network management method and system. Background Art
[0002] Edge computing is the result of the evolution of networks and the development of cloud computing technology. By providing computing, storage, and network infrastructure close to users, applications can be deployed and run on these infrastructures, thereby providing users with low-latency edge cloud services. With the growing market demand for edge computing and the increasing amount of data transmission, network bandwidth and throughput have gradually become key factors affecting application performance.
[0003] Building an edge computing platform involves multiple technical areas, including but not limited to computing resource management, data storage, network optimization, and security assurance. Kubernetes (K8S for short), as an open source container orchestration system, can automate the deployment, expansion, and management of containerized applications. Its role in the edge computing architecture is particularly critical, helping administrators to more efficiently manage and schedule computing resources distributed on various edge nodes. The application of K8S is not limited to the management of edge nodes, but also includes automatic scaling, high availability configuration, security policy implementation, and application control, thereby improving the overall efficiency, stability, and reliability of the edge computing platform.
[0004] For scenarios with limited resources or requiring unattended operation, such as remote areas or IoT devices, K3S provides a lightweight, easy-to-install and highly scalable Kubernetes distribution option. It is designed specifically for such environments, with its small size, fewer dependencies and support for heterogeneous resources, making it an ideal tool for building edge computing infrastructure.
[0005] CNI (Container Network Interface), as the standard API interface specification for container networks, plays an important role in extending network functions in K8S. K8S adopts a network model called "one IP per Pod", that is, each Pod is assigned an independent network card and IP address. For example, the flannel plug-in uses the Overlay mode to create a virtual network overlaid on the existing network, and uses tunneling technology to encapsulate original data packets to achieve communication between containers across hosts. Although different network plug-ins have different implementation methods, most of them follow this basic network model.
[0006] However, in scenarios with high network requirements, for example, an application or service not only needs to provide API call services to the outside world, but also needs to meet its own data synchronization requirements based on distributed characteristics. At this time, the performance of a single network card is often difficult to meet production-level requirements. In this case, network bandwidth, traffic delay, and network congestion can easily become bottlenecks for application performance. In addition, the single network plane in the platform has the following disadvantages:
[0007] 1. Poor network isolation and uncontrollable fault domains. All Pods and Services are on the same network plane, lacking network isolation. The traffic of one Pod may interfere with the network traffic of other Pods. Network configuration errors may also cause network communication interruption of the entire cluster, resulting in collective application anomalies.
[0008] 2. Difficulty in implementing network policies. It is difficult to implement fine-grained and complex network policies on a single network plane, making network isolation, traffic control, and service governance difficult. Layer 2 and Layer 3 networking functions cannot be implemented simultaneously in a cluster. Different functions need to rely on professional components.
[0009] Therefore, how to provide an edge computing platform container network management method and system is a problem that needs to be solved urgently. Summary of the invention
[0010] The embodiments of the present invention provide an edge computing platform container network management method and system to solve the above-mentioned technical problems existing in the prior art.
[0011] In order to have a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. This summary is not intended to be a general review, nor is it intended to identify key / important components or to delineate the scope of protection of these embodiments. Its only purpose is to present some concepts in a simple form as a preface to the detailed description that follows.
[0012] According to a first aspect of an embodiment of the present invention, a method for managing an edge computing platform container network is provided.
[0013] In one embodiment, a method for managing an edge computing platform container network includes:
[0014] Creating user-defined resources, wherein the user-defined resources include cluster node groups, namespace groups, workload groups, network interfaces, and subnets;
[0015] Sort containers according to the weight of workload groups, and prioritize container traffic in different workload groups based on the sorting results.
[0016] Based on the priority scheduling results, deploy the node network manager to configure and manage the network of the nodes in the cluster node group, and configure the corresponding subnet for the container according to the network interface type;
[0017] Configure the corresponding subnet according to the container and set up the workload grouping gateway to control the network traffic policy.
[0018] In one embodiment, sorting the containers according to the weights of the workload groups and performing priority scheduling on the container traffic in different workload groups based on the sorting results includes:
[0019] Sort all containers to be scheduled according to the weight of the workload group, ensure that the containers in the highest-weighted workload group are scheduled first, and schedule the corresponding containers to the nodes with the highest calculation scores until all containers are scheduled;
[0020] By calculating the global reference weight of each container and allocating logical virtual nodes to the containers on the virtual ring, the traffic priority of the containers in each workload grouping is dynamically adjusted in combination with the time slice and pointer mechanism.
[0021] In one embodiment, the step of sorting all containers to be scheduled according to the weights of the workload groups, ensuring that the containers in the highest weight workload group obtain priority scheduling rights, and scheduling the corresponding containers to the nodes with the highest calculation scores until all containers are scheduled includes:
[0022] S11, assigning a weight to each workload group, and sorting the workload groups of all containers to be created based on the weights to obtain a workload group queue;
[0023] S12. Select the workload group with the highest weight from the workload group queue. If the workload group with the highest weight is associated with the corresponding cluster node group, form a set of nodes in the corresponding cluster node group, and list the containers to be created in the workload group with the highest weight to form a container list.
[0024] S13, using a score calculation formula to calculate the score of each node in the node composition set relative to the container list;
[0025] S14, select a container from the container list, and schedule the container in the workload group with the highest weight to the node with the highest score, and remove the pre-scheduled container from the container list;
[0026] S15. Repeat step S14 until the container scheduling in the workload group with the highest weight is completed.
[0027] S16. Repeat steps S12 to S15 until all containers in all workload groups are scheduled.
[0028] In one embodiment, the score calculation formula is:
[0029]
[0030] In the formula, Score(N i ) represents the score of the i-th node in the node set; N i represents the i-th node in the node set; w1 represents the weight of the set CPU; CPU_REQ(P i ) represents the number of CPUs required by the i-th Pod; P i Indicates the current group G i The i-th Pod in CPU_TOTAL(N i ) represents the total CPU of the i-th node; CPU_AVG(N i ) represents the average CPU utilization of the i-th node in the reference time interval T; w2 represents the weight of the set memory; MEM_REQ(P i ) represents the memory size required by the i-th Pod; MEM_TOTAL(N i ) represents the total memory of the i-th node; MEM_AVG(N i ) represents the average memory occupancy rate of the i-th node in the reference time interval T; w3 represents the weight of the set network; n represents the number of network interfaces required for the i-th Pod to be scheduled; j represents the index value; NET_REQ(P i D j ) represents the bandwidth value required by the jth network interface of the i-th Pod; NET_TOTAL(N i D j ) represents the bandwidth value of the jth network interface of the ith node; NET_AVG(N i D j ) represents the average bandwidth usage of the jth network interface of the i-th node in the reference time interval T; w4 represents the set storage weight;
[0031] STG_REQ(P i ) represents the storage disk size required by the i-th Pod; STG_TOTAL(N i ) represents the storage disk size of the i-th node; STG_AVG(N i ) represents the average storage disk occupancy of the i-th node in the reference time interval T.
[0032] In one embodiment, the method of calculating the global reference weight of each container, allocating a logical virtual node to the container on the virtual ring, and dynamically adjusting the traffic priority of the container in each workload group in combination with the time slice and pointer mechanism includes:
[0033] S21. Based on the workload grouping, set the workload group weight and the container weight, and calculate the global reference weight of each container based on the workload group weight and the container weight;
[0034] S22. Based on the global reference weight, set a logical virtual node for each container, and sort the logical virtual nodes of all containers according to the number of virtual nodes and place them on the virtual ring;
[0035] S23, select a tuple from the workload group queue with the highest weight, and place the virtual nodes of the corresponding containers on the virtual ring at intervals according to the preset rules. If the target position is occupied, search for an idle position in a clockwise direction;
[0036] S24, repeat step S23 until the virtual nodes of all containers are allocated to the virtual ring;
[0037] S25, within a preset time period window, divide the time into several time slices, set a pointer to point to the virtual ring start node, and process the network data packet of the container pointed to by the pointer within each time slice;
[0038] S26. Set several pointers. When scheduling to the current cluster node group, repeat steps S21 to S25 to reconstruct the virtual ring to obtain priority scheduling of container traffic.
[0039] In one embodiment, the deployment of a node network manager based on the priority scheduling result, performing network configuration and management on nodes in the cluster node group, and configuring a corresponding subnet for the container according to the network interface type includes:
[0040] Based on the priority scheduling result, deploying a node network manager in the cluster node group, wherein the container of the node network manager includes a container connector and a container manager;
[0041] The container connector in the node network manager communicates with the network controller, runs in network mode and accesses the host namespace;
[0042] The network controller communicates and receives the container network interface creation request and notifies the node network manager of the corresponding node;
[0043] The node network manager converts the received network interface configuration information into network commands and configures the corresponding subnet for the container based on the network interface type.
[0044] In one embodiment, the network modes include: bridging mode, routing mode, virtual switch mode and transparent transmission mode.
[0045] In one embodiment, the node network manager converts the received network interface configuration information into a network command, and configures a corresponding subnet for the container according to the network interface type, including:
[0046] The container connector in the node network manager receives the network interface configuration information and transmits the network interface configuration information to the container manager, and the container manager converts the network interface configuration information into a network command;
[0047] Based on the network command, confirm the network type of the network interface, wherein the network type includes a default network and a subnet;
[0048] If the network type of the network interface is the default network, the container manager configures the network interface to obtain a network address from the address pool of the default network of the cluster node group;
[0049] If the network type of the network interface is a subnet, the container manager determines the subnet name and subnet affiliation of the access network, and configures the network interface to obtain a network address from the determined subnet.
[0050] In one embodiment, the workload group gateway is used to connect workload groups with cluster external services and control network traffic policies between groups.
[0051] According to a second aspect of an embodiment of the present invention, an edge computing platform container network management system is provided.
[0052] In one embodiment, the edge computing platform container network management system includes:
[0053] A user-defined resource creation module, used to create user-defined resources, wherein the user-defined resources include cluster node groups, namespace groups, workload groups, network interfaces and subnets;
[0054] A priority scheduling module is used to sort the containers according to the weights of the workload groups, and to perform priority scheduling on the container traffic in different workload groups based on the sorting results;
[0055] The network configuration module is used to deploy the node network manager based on the priority scheduling results, perform network configuration and management on the nodes in the cluster node group, and configure the corresponding subnet for the container according to the network interface type;
[0056] The gateway setting module is used to configure the corresponding subnet according to the container and set the workload grouping gateway to control the network traffic strategy.
[0057] According to a third aspect of an embodiment of the present invention, a computer device is provided.
[0058] In some embodiments, the computer device includes a memory and a processor, the memory stores a computer program, and the processor implements the steps of the above method when executing the computer program.
[0059] According to a fourth aspect of embodiments of the present invention, a computer-readable storage medium is provided.
[0060] In one embodiment, the computer-readable storage medium stores a computer program, and the computer program implements the steps of the above method when executed by a processor.
[0061] The technical solution provided by the embodiment of the present invention may have the following beneficial effects:
[0062] 1. The present invention not only significantly enhances the network flexibility and expansion capability of the container by connecting multiple network interfaces to the container on the edge computing platform, but also provides a variety of network connection mode options; whether it is bridging, routing, virtual switch, or transparent transmission mode, users can flexibly choose according to the needs of specific application scenarios, so as to better meet the network requirements in different business scenarios and improve the adaptability and performance of the overall system.
[0063] 2. By introducing node grouping and namespace grouping functions, the edge computing platform of the present invention realizes unified management of Pods under nodes and namespaces, significantly simplifies network configuration and maintenance, and reduces management costs; at the same time, the introduction of workload grouping makes network management more refined, and can perform targeted network configuration according to the specific needs of each workload, thereby improving the utilization efficiency and service quality of network resources.
[0064] 3. The present invention determines the traffic priority by setting weights for workload groups, ensuring that application services in high-priority groups can obtain better network services, effectively guaranteeing the network performance of key applications, and improving the stability and reliability of the overall system. It not only optimizes the allocation of network resources, but also provides strong support for the network management of the edge computing platform, ensuring the efficient operation and service quality of key businesses.
[0065] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0067] Figure 1is a flow chart of a method for managing a container network of an edge computing platform according to an exemplary embodiment;
[0068] Figure 2 It is a principle block diagram of an edge computing platform container network management system according to an exemplary embodiment;
[0069] Figure 3 is a structural schematic diagram of a computer device according to an exemplary embodiment;
[0070] Figure 4 It is an architectural diagram of an edge computing platform container network management method according to an exemplary embodiment. DETAILED DESCRIPTION
[0071] The following description and accompanying drawings fully illustrate the specific embodiments of this article so that those skilled in the art can practice them. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. The scope of the embodiments of this article includes the entire scope of the claims, as well as all available equivalents of the claims. Herein, the terms "first", "second", etc. are only used to distinguish one element from another, without requiring or implying any actual relationship or order between these elements. In fact, the first element can also be called the second element, and vice versa. Moreover, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, so that the structure, device or equipment including a series of elements includes not only those elements, but also other elements that are not explicitly listed, or also include elements inherent to such structure, device or equipment. In the absence of more restrictions, the elements defined by the sentence "including one..." do not exclude the existence of other identical elements in the structure, device or equipment including the elements. Each embodiment is described in a progressive manner herein, and each embodiment focuses on the differences from other embodiments, and the same and similar parts between the embodiments can be referred to each other.
[0072] The terms "longitudinal", "lateral", "upper", "lower", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", etc. in this document indicate the orientation or position relationship based on the orientation or position relationship shown in the drawings, and are only for the convenience of describing this document and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operate in a specific orientation, and therefore cannot be understood as a limitation on the present invention. In the description of this document, unless otherwise specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a mechanical connection or an electrical connection, it can also be the internal communication of two elements, it can be a direct connection, or it can be an indirect connection through an intermediate medium. For ordinary technicians in this field, the specific meanings of the above terms can be understood according to specific circumstances.
[0073] As used herein, the term "plurality" means two or more than two, unless otherwise specified.
[0074] In this document, the character " / " indicates that the preceding and following objects are in an "or" relationship. For example, A / B means: A or B.
[0075] In this article, the term "and / or" is a description of the association relationship between objects, indicating that three relationships may exist. For example, A and / or B means: A or B, or, A and B.
[0076] It should be understood that, although the various steps in the flow chart are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the figure may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these sub-steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
[0077] Each module in the device or system of the present application can be implemented in whole or in part by software, hardware, or a combination thereof. The above modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to the above modules.
[0078] In the absence of conflict, the embodiments of the present invention and the features of the embodiments may be combined with each other.
[0079] Figure 1An embodiment of an edge computing platform container network management method of the present invention is shown.
[0080] In this optional embodiment, the edge computing platform container network management method includes:
[0081] User-defined resources are created, wherein the user-defined resources include cluster node grouping, namespace grouping, workload grouping, network interface, and subnet.
[0082] It should be noted that user-defined resources are created, including cluster node groups, namespace groups, workload groups, network interfaces, and subnets as follows:
[0083] 1. Use "user-defined resource CRD" to define NodeGroup (cluster node grouping) resources so that nodes in the cluster can be grouped. "Node grouping" is a condition that needs to be met during Pod scheduling. For example, nodes with 10G optical ports can be grouped together, nodes with 100G optical ports can be grouped together, and nodes with only 1G network ports can be grouped together.
[0084] Custom Resource Definitions (CRD) is a way to extend the Kubernetes API, allowing users to define their own resource types. CRD is the definition of a user-defined resource, and CR (Custom Resource) is a running instance of CRD.
[0085] 1) Define user-defined resource CRDs for cluster node grouping;
[0086] 2) Create a corresponding NodeGroupController controller and use an event-driven method to monitor the creation, update, and deletion of NodeGroup resources;
[0087] 3) The NodeGroupController controller also monitors the status changes of cluster nodes and cluster node label modification events to update the affected NodeGroup instances.
[0088] 2. Use "User-defined Resource CRD" to define NsGroup (namespace grouping) resources, so that multiple namespaces are divided into different "namespace groups".
[0089] 1) Define the user-defined resource CRD of NsGroup, including the matching namespace, and support regular expression fuzzy matching;
[0090] 2) Implement the NsGroupController controller to monitor the creation, update, and deletion of NsGroup resources;
[0091] 3) The NsGroupController also monitors namespace changes and maps the corresponding changes to NsGroup;
[0092] 4) The behavior of all Pods in the namespace will be constrained and controlled by the "namespace group". For example, if the specified namespace group ns-a is associated with a node group node-a, all Pods under ns-a will be scheduled only in the nodes in the node-a group.
[0093] 3. Use "User-defined Resource CRD" to define WorkloadGroup (workload grouping, i.e. Pod grouping) resources so that the specified Pod is divided into the "workload group".
[0094] 1) Define the WorkloadGroup user-defined resource CRD. You can specify Pods to be added to the workload group according to the following rules. The Pod's label selector specifies that Pods that meet the label rules are added to the workload group; directly specify the namespace or namespace group. When the WorkloadGroup resource specifies a namespace or namespace group, the Pods in the namespace or namespace group are automatically added to the workload group by default. You can set the weight of the workload group and the weight of the computing resources (CPU, memory, network, storage).
[0095] 2) Implement the WorklaodGroupController controller to monitor the creation, update, and deletion of WorkloadGroup resources;
[0096] 3) The WorklaodGroupController controller monitors the creation, update, scheduling, and deletion events of Pods and synchronizes the change information to the workload group;
[0097] 4) The WorklaodGroupController controller listens to the creation, update, and deletion events of NsGroup resources and synchronizes the change information to the workload group;
[0098] 5) The WorklaodGroupController controller implements the Pod scheduler plug-in, which is integrated into the cluster default scheduler to extend the scheduling scoring rules, such as Pod priority scheduling.
[0099] 4. Use "User Defined Resource CRD" to define PodNIC (Pod Network Interface) resources. Each PodNIC instance is a network interface in the Pod.
[0100] 1) First, define the PodNIC (Pod network interface) user-defined resource, which mainly includes the following information: access network network (default: the default container network of the cluster can be set to bridge mode or route mode; subnet custom network), interface type type (bridge, route, virtual switch vSwitch, passthrough), interface name nicName, mac address hwAddress, IP address and subnet mask list ipv4s, ipv6s, whether it is the default interface isDefault, gateway address gateway, DNS address dnsServer, maximum transmission unit mtu, additional routes and other information.
[0101] 2) Implement the PodNICController corresponding to the PodNIC, monitor the changes of the PodNIC resource instance, and create, update, and delete the network interface for the Pod;
[0102] 3) When the NetManager component monitors Pod creation, update, and deletion events, it performs network operations on the corresponding nodes;
[0103] 4) Communicate with the cluster NetManagerController, such as obtaining the IP address.
[0104] 5. Use "User Defined Resource CRD" to define the subnet resource, assign an IP address to the non-default network interface of the container and connect it to the corresponding subnet.
[0105] 1) Define subnet user-defined resources. Subnet resources are divided into cluster-level subnet clusterSubnet and workload group-level subnet workloadGroupSubnet. The IP segments managed by the cluster-level subnet must be unique, and all pods that meet the conditions in the cluster can access it; the IP segments managed by the workload group-level subnet can be unique, and only pods in the workload group can access it;
[0106] 2) Implement the subnetController controller to monitor the creation, modification, and deletion events of subnet resources;
[0107] 3) When subnetController listens to the creation or update request of the subnet instance, it verifies whether the subnet meets the creation conditions in 1).
[0108] In addition, K8S represents Kubernetes (a container management engine); K3S represents a simplified version of K8S, which only retains core functions; Pod represents the smallest unit of scheduling in k8s, which contains one or more containers; DaemonSet represents a resource in k8s, which controls the Pod that runs on each node in the cluster; Namespace represents a mechanism for dividing resources in the cluster into isolated groups; CRD represents a user-defined resource in K8S; CNI represents the network API interface of the Container Network Interface container; veth pair represents a virtual network device that connects two network namespaces; NodeGroup represents cluster node grouping, which divides nodes with the same functions or similar resources into logical groups; NsGroup represents namespace grouping, which divides multiple namespaces into the same group for unified management; WorkloadGroup represents workload grouping, that is, Pod grouping, which divides the specified Pod into a logical group for unified management; NetManager represents the node network manager, which is responsible for setting the node network accordingly according to the network interface information configured by the Pod; NetManagerController represents the network centralized manager, which is responsible for container network IP allocation and storage network policy, etc.; PodNIC represents a custom Pod's network interface resource, which describes a network interface of the Pod.
[0109] The containers are sorted according to the weights of the workload groups, and the container traffic in different workload groups is prioritized based on the sorting results.
[0110] Based on the priority scheduling results, the node network manager is deployed to configure and manage the network of the nodes in the cluster node grouping, and configure the corresponding subnet for the container according to the network interface type.
[0111] Configure the corresponding subnet according to the container and set up the workload grouping gateway to control the network traffic policy.
[0112] In this optional embodiment, the step of sorting the containers according to the weights of the workload groups and performing priority scheduling on the container traffic in different workload groups based on the sorting results includes:
[0113] Sort all containers to be scheduled according to the weight of the workload group, ensure that the containers in the highest-weighted workload group are scheduled first, and schedule the corresponding containers to the nodes with the highest calculation scores until all containers are scheduled;
[0114] By calculating the global reference weight of each container and allocating logical virtual nodes to the containers on the virtual ring, the traffic priority of the containers in each workload grouping is dynamically adjusted in combination with the time slice and pointer mechanism.
[0115] In this optional embodiment, the step of sorting all containers to be scheduled according to the weights of the workload groups, ensuring that the containers in the highest weighted workload group obtain priority scheduling rights, and scheduling the corresponding containers to the nodes with the highest calculation scores until all containers are scheduled includes:
[0116] S11, assigning a weight to each workload group, and sorting the workload groups of all containers to be created based on the weights to obtain a workload group queue;
[0117] S12. Select the workload group with the highest weight from the workload group queue. If the workload group with the highest weight is associated with the corresponding cluster node group, form a set of nodes in the corresponding cluster node group, and list the containers to be created in the workload group with the highest weight to form a container list.
[0118] S13, using a score calculation formula to calculate the score of each node in the node composition set relative to the container list;
[0119] S14, select a container from the container list, and schedule the container in the workload group with the highest weight to the node with the highest score, and remove the pre-scheduled container from the container list;
[0120] S15. Repeat step S14 until the container scheduling in the workload group with the highest weight is completed.
[0121] S16. Repeat steps S12 to S15 until all containers in all workload groups are scheduled.
[0122] In this optional embodiment, the score calculation formula is:
[0123]
[0124] In the formula, Score(N i ) represents the score of the i-th node in the node set; N i represents the i-th node in the node set; w1 represents the weight of the set CPU; CPU_REQ(P i ) represents the number of CPUs required by the i-th Pod; P i Indicates the current group G i The i-th Pod in CPU_TOTAL(N i) represents the total CPU of the i-th node; CPU_AVG(N i ) represents the average CPU utilization of the i-th node in the reference time interval T; w2 represents the weight of the set memory; MEM_REQ(P i ) indicates the memory size required by the i-th Pod, in MB; MEM_TOTAL(N i ) represents the total memory of the i-th node, in MB;
[0125] MEM_AVG(N i ) represents the average memory occupancy rate of the i-th node in the reference time interval T; w3 represents the weight of the set network; n represents the number of network interfaces required for the i-th Pod to be scheduled; j represents the index value; NET_REQ(P i D j ) represents the bandwidth value required by the jth network interface of the i-th Pod, in Mbps; NET_TOTAL(N i D j ) represents the bandwidth value of the jth network interface of the ith node, in Mbps; NET_AVG(N i D j ) represents the average bandwidth usage of the jth network interface of the i-th node in the reference time interval T; w4 represents the set storage weight; STG_REQ(P i ) represents the storage disk size required by the i-th Pod, in MB; STG_TOTAL(N i ) represents the storage disk size of the i-th node, in MB; STG_AVG(N i ) represents the average storage disk occupancy of the i-th node in the reference time interval T.
[0126] In this optional embodiment, the method of calculating the global reference weight of each container, allocating a logical virtual node to the container on the virtual ring, and dynamically adjusting the traffic priority of the container in each workload group in combination with the time slice and pointer mechanism includes:
[0127] S21. Based on the workload grouping, set the workload group weight and the container weight, and calculate the global reference weight of each container based on the workload group weight and the container weight;
[0128] S22. Based on the global reference weight, set a logical virtual node for each container, and sort the logical virtual nodes of all containers according to the number of virtual nodes and place them on the virtual ring;
[0129] S23, select a tuple from the workload group queue with the highest weight, and place the virtual nodes of the corresponding containers on the virtual ring at intervals according to the preset rules. If the target position is occupied, search for an idle position in a clockwise direction;
[0130] S24, repeat step S23 until the virtual nodes of all containers are allocated to the virtual ring;
[0131] S25, within a preset time period window, divide the time into several time slices, set a pointer to point to the virtual ring start node, and process the network data packet of the container pointed to by the pointer within each time slice;
[0132] S26. Set several pointers. When scheduling to the current cluster node group, repeat steps S21 to S25 to reconstruct the virtual ring to obtain priority scheduling of container traffic.
[0133] It should be noted that the "workload group" sets a weight. The higher the weight, the Pod in the "workload group" will get higher scheduling priority, higher network policy execution rights and higher network quality assurance. In addition to setting the overall weight of the "workload group", you can also set the weights of computing resources (CPU, memory, network, storage) separately. If group A has a high demand for CPU and a weak demand for storage, you can set the CPU weight to 90 and the storage weight to 20. In this way, when scheduling the Pods in the group, the Pods in the group will be scheduled to nodes with high CPU idleness, even if the node has a low storage score. The same applies to resources such as memory.
[0134] In terms of Pod scheduling, follow the steps below to create Pods according to priority:
[0135] 1) Sort the WorkloadGroups where the Pods to be created are located by weight to obtain the workload group queue Q, that is, the Pods in the WorkloadGroups with high weights are created first;
[0136] 2) Dequeue workload group G from queue Q i , start scheduling workload group G i In the Pod, if G i If NodeGroup is specified, the nodes in the node group NodeGroup in the cluster form a set N; the workload group G i The Pods to be created are in the list P1 to P n ;
[0137] 3) Calculate the nodes N1 to N in the node set N n Relative to the Pod list P1~P n The score is calculated as follows:
[0138]
[0139] In the formula, Score(N i ) represents the score of the i-th node in the node set; N i represents the i-th node in the node set; w1 represents the weight of the set CPU; CPU_REQ(P i ) represents the number of CPUs required by the i-th Pod; P i Indicates the current group G i The i-th Pod in CPU_TOTAL(N i ) represents the total CPU of the i-th node; CPU_AVG(N i ) represents the average CPU utilization of the i-th node in the reference time interval T; w2 represents the weight of the set memory; MEM_REQ(P i ) indicates the memory size required by the i-th Pod, in MB; MEM_TOTAL(N i ) represents the total memory of the i-th node, in MB;
[0140] MEM_AVG(N i ) represents the average memory occupancy rate of the i-th node in the reference time interval T; w3 represents the weight of the set network; n represents the number of network interfaces required for the i-th Pod to be scheduled; j represents the index value; NET_REQ(P i D j ) represents the bandwidth value required by the jth network interface of the i-th Pod, in Mbps; NET_TOTAL(N i D j ) represents the bandwidth value of the jth network interface of the ith node, in Mbps; NET_AVG(N i D j ) represents the average bandwidth usage of the jth network interface of the i-th node in the reference time interval T; w4 represents the set storage weight; STG_REQ(P i ) represents the storage disk size required by the i-th Pod, in MB; STG_TOTAL(N i ) represents the storage disk size of the i-th node, in MB; STG_AVG(N i ) represents the average storage disk occupancy of the i-th node in the reference time interval T.
[0141] 4) Remove PodP from the Pod list i , pre-schedule the Pod to Score(N i ) in the Pod list.i Repeat the steps in 3) to calculate the node set N for each node N1~N n Relative to the Pod list P i+1 ~P n score;
[0142] 5) Repeat step 4) until all Pods in the workload group are scheduled;
[0143] 6) Repeat steps 2)-5) until all Pods in the workload group are scheduled.
[0144] In terms of traffic priority control, the following method is used to prioritize the traffic of Pods in different workload groups:
[0145] 1) Assume that the workload is grouped into G1~G n , the weights are W1~W n , workload group G i The weights of the Pods in are WG i P j ;
[0146] 2) Calculate the global reference weight HG of each Pod i P j , that is, the weight of the workload group * the weight of the Pod in the workload group, HG i P j =W i *WG i P j ;
[0147] 3) Set a logical virtual node for each Pod (a virtual node is equivalent to a reference or shortcut to an actual Pod, and accessing a virtual node is accessing its associated actual Pod). The number of virtual nodes for each Pod is δ*HG i P j ,δ is the adjustment factor to prevent the virtual node from being too large or too small;
[0148] 4) Setting a data packet scheduling virtual ring, on which there are the virtual nodes described in 3), and the total number of virtual nodes is the number of logical virtual nodes of the Pods of all workload groups, which is set to N;
[0149] 5) Let tuple (P i , VP), where P i is the actual Pod, VP is the list of virtual nodes corresponding to the Pod, sort the virtual nodes of each Pod from most to least, and put the tuple into queue Q;
[0150] 6) Dequeue tuple (P) from queue Q i, VP), starting from the start node of the virtual ring, every N / CP i , place a P i If there is a virtual node at the target position, find an idle virtual node position clockwise and insert the virtual node into it until all the virtual nodes in VP are allocated;
[0151] 7) Repeat step 6) until the queue is empty;
[0152] 8) Let pointer p point to the starting node of the virtual ring. In the time period T window, divide the time into time slices ΔT. The virtual node pointed to by pointer p starts to process the network data packet of the Pod pointed to by the virtual node until the time reaches ΔT. The p pointer moves clockwise to the next virtual node.
[0153] 9) Multiple pointers p can be set i ~p n , where the odd-numbered pointers rotate clockwise and the even-numbered pointers rotate counterclockwise to speed up the processing;
[0154] 10) When a new Pod is created or scheduled to the current cluster node, repeat steps 1) to 9) to reconstruct the virtual ring to implement traffic priority control.
[0155] In this optional embodiment, the node network manager is deployed based on the priority scheduling result, the network configuration and management of the nodes in the cluster node group is performed, and the corresponding subnet is configured for the container according to the network interface type, including:
[0156] Based on the priority scheduling result, deploying a node network manager in the cluster node group, wherein the container of the node network manager includes a container connector and a container manager;
[0157] The container connector in the node network manager communicates with the network controller, runs in network mode and accesses the host namespace;
[0158] The network controller communicates and receives the container network interface creation request and notifies the node network manager of the corresponding node;
[0159] The node network manager converts the received network interface configuration information into network commands and configures the corresponding subnet for the container based on the network interface type.
[0160] In this optional embodiment, the network modes include: bridging mode, routing mode, virtual switch mode and transparent transmission mode.
[0161] It should be noted that the PodNIC is in bridge mode. When a Pod is associated with an instance of a PodNIC resource type of bridge, a bridge mode network interface is added to the Pod. The keeper container in the NetManager component will establish a virtual device pair veth pair on the node to which the Pod is scheduled. One end is added to the bridge specified in the PodNIC, and the other end is connected to the namespace where the Pod is located. The IP address is configured according to the set IP. If the IP address is not configured, the IP address is applied to the NetManagerController.
[0162] The PodNIC is in routing mode. When a Pod is associated with an instance of a PodNIC resource type of route, a network interface in routing mode is added to the Pod. The keeper container in the NetManager component will establish a virtual device pair veth pair on the node to which the Pod is scheduled. One end is connected to the namespace where the Pod is located. Unlike the bridge mode, the other end does not join the bridge. The keeper container in the NetManager component will add one or more routing entries to the node according to the configuration in the PodNIC.
[0163] The PodNIC is in virtual switch mode. When a Pod is associated with an instance of a PodNIC resource type of vSwitch, a network interface in virtual switch mode is added to the Pod. The premise that the Pod can add a network interface in vSwitch mode is that the Pod is in a "workload group". When NetManager detects the event of adding a vSwitch network interface, it monitors whether the group has created the virtual switch container specified in the PodNIC. If not, it creates the virtual switch and then establishes a virtual device pair veth pair, with one end connected to the namespace where the Pod is located and the other end connected to the virtual switch. If the virtual switch has been created, a virtual device pair veth pair is directly established, with one end connected to the namespace where the Pod is located and the other end connected to the virtual switch. The configuration in the PodNIC can also configure whether the network interface of the node host is added to the virtual switch.
[0164] The PodNIC described is in passthrough mode. When a Pod is associated with an instance of a PodNIC resource type of passthrough, a network interface in passthrough mode is added to the Pod. This is usually used when the application interacts directly with the NIC hardware, and the operating system kernel no longer processes data packets on the interface. At the same time, a user space driver is used to manage the network interface instead of a traditional kernel driver. The application completely monopolizes the interface. Therefore, in passthrough mode, the keeper container in the NetManager component is responsible for binding the interface to the user space driver supported by the application, such as vfio-pci or uio_pci_generic, on the node host. According to the configuration in the PodNIC, the keeper container in the NetManager component will decide whether to fully pass the physical interface to the Pod, or first virtualize the physical interface on the node into multiple virtual interfaces through SRIOV technology, and pass the virtual interface to the Pod.
[0165] In one embodiment, the node network manager converts the received network interface configuration information into a network command, and configures a corresponding subnet for the container according to the network interface type, including:
[0166] The container connector in the node network manager receives the network interface configuration information and transmits the network interface configuration information to the container manager, and the container manager converts the network interface configuration information into a network command;
[0167] Based on the network command, confirm the network type of the network interface, wherein the network type includes a default network and a subnet;
[0168] If the network type of the network interface is the default network, the container manager configures the network interface to obtain a network address from the address pool of the default network of the cluster node group;
[0169] If the network type of the network interface is a subnet, the container manager determines the subnet name and subnet affiliation of the access network, and configures the network interface to obtain a network address from the determined subnet.
[0170] In this optional embodiment, the workload grouping gateway is used to connect workload groups and cluster external services and control network traffic policies between groups.
[0171] It should be noted that the cluster will run the NetManager (node network manager) component, which is a DaemonSet resource responsible for network settings and management of nodes in the cluster, including creating bridges, establishing virtual device pairs, adding / deleting / modifying routes, setting up host network interface SRIOV virtualization, setting up iptables rules, setting up NAT, setting up DNS, etc. The Pod of the NetManager component contains two containers. The container connector is responsible for obtaining the creation information of the Pod, communicating with the NetManagerController (network controller), and obtaining the network interface configuration information of the workload Pod. Another container keeper runs in privileged mode and uses the --pid=host parameter to use the host namespace, mount the host's / proc directory to the / proc directory in the container, to obtain the host's process information and implement network settings for the host. When the NetManagerController receives a Pod network interface creation request or a Pod network interface modification request, it sends a notification to the NetManager of the node where the Pod is located. The connector container receives the notification and converts the Pod's network configuration or change information into Linux commands, which are then set up by the keeper:
[0172] The basic template command is nsenter -a -t1bash -c "${command}"
[0173] Create a bridge: nsenter -a -t1 bash -c "brctladdbr ${brName}"
[0174] Create a virtual device pair:
[0175] nsenter-a-t1bash-c "iplinkadd${vth}typevethpeername${eth}", vth is the name of the virtual device pair on the host side, and eth is the name of the virtual device pair inside the Pod container.
[0176] Add, delete and modify routes: nsenter-a-t1bash-c "iprouteadd / del${dst}via${viaIp}", dst is the target network and viaIp is the sending target address.
[0177] Set up network interface SRIOV virtualization: First, check whether the host supports SRI-OV virtualization. The command is "lspci-Dvmm|grepEthernet". If SRI-OV appears, it means that SRI-OV virtualization is supported. Then set up the virtual interface. The command is:
[0178] “echo${vfNum}> / sys / bus / pci / devices / ${pciNum} / sriov_numvfs
[0179] ", vfNum is the number of virtualized interfaces, pciNum is the PCI device number of the physical interface, and the other network operations are implemented in the same logic.
[0180] In addition, the PodNIC resource can be configured to automatically obtain an IP address, a fixed IP address, or to allocate an IP from a specified IP pool. When the access network of the PodNIC is set to default, the interface will obtain an IP from the IPAM of the cluster's default network, or it can be set to a fixed IP (segment), and the set IP (segment) address range should be within the cluster's default network IP range. When the access network of the PodNIC is subnet, it is necessary to specify the name of the access network and the subnet affiliation (cluster-level subnet clusterSubnet, workload-level subnet workloadGroupSubnet). The PodNIC will obtain an IP address from the IPAM of the subnet, or it can be set to a fixed IP (segment), and the set IP (segment) address range should be within the IP range of the subnet subnet. When the cluster-level subnet is connected, the IP of the PodNIC cannot be repeated. When the workload group-level group subnet is connected, the addresses of the PodNICs under different workload groups can be the same.
[0181] For Pods in a workload group, there may not be a network interface for the cluster default network. For example, if a Pod only provides DNS services to Pods in the workload group and does not provide services to Pods outside the workload group, there is no need to add a network interface connected to the cluster default network to the Pod.
[0182] Workload grouping can set up a "workload grouping" gateway to connect different workload groups, cluster external services, other clusters, etc. It can also control the network traffic strategy between groups, set NAT rules, set routing information, etc.
[0183] like Figure 4As shown in the figure, it provides support for multiple network cards for Pods in the edge computing platform. According to the configuration, 0, 1 or more network cards can be flexibly inserted into different workload Pods, and the address of each network card can be configured. These network cards can work in four modes: bridging, routing, virtual switch, and transparent transmission. In addition, "node grouping" is defined to divide a series of nodes with similar functional characteristics or special purposes into a group. "Namespace grouping" is defined so that the workload Pods in this series of namespaces have similar network configurations. "Workload grouping" is defined to divide a group of Pods into a group, and the access rules within and between groups can be configured for the Pods therein to control the network policies between applications.
[0184] Figure 2 An embodiment of an edge computing platform container network management system of the present invention is shown.
[0185] In this optional embodiment, the edge computing platform container network management system includes:
[0186] A user-defined resource creation module 201 is used to create user-defined resources, wherein the user-defined resources include cluster node groups, namespace groups, workload groups, network interfaces, and subnets;
[0187] A priority scheduling module 203, used to sort the containers according to the weights of the workload groups, and to perform priority scheduling on the container traffic in different workload groups based on the sorting results;
[0188] The network configuration module 205 is used to deploy a node network manager based on the priority scheduling result, perform network configuration and management on the nodes in the cluster node group, and configure a corresponding subnet for the container according to the network interface type;
[0189] The gateway setting module 207 is used to configure the corresponding subnet according to the container and set the workload grouping gateway to control the network traffic strategy.
[0190] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 3As shown. The computer device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store static information and dynamic information data. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, the steps in the above method embodiment are implemented.
[0191] Those skilled in the art will understand that Figure 3 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present invention, and does not constitute a limitation on the computer device to which the solution of the present invention is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0192] In addition, the present invention also provides a computer device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiment when executing the computer program.
[0193] In addition, the present invention further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method embodiment are implemented.
[0194] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided by the present invention can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0195] The present invention is not limited to the structures which have been described above and shown in the drawings, and various modifications and changes may be made without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.
Claims
1. A method for managing an edge computing platform container network, characterized in that: The method includes: Creating user-defined resources, wherein the user-defined resources include cluster node groups, namespace groups, workload groups, network interfaces, and subnets; Sort containers according to the weight of workload groups, and prioritize container traffic in different workload groups based on the sorting results. Based on the priority scheduling results, deploy the node network manager to configure and manage the network of the nodes in the cluster node group, and configure the corresponding subnet for the container according to the network interface type; Configure the corresponding subnet according to the container and set up the workload grouping gateway to control the network traffic policy.
2. The edge computing platform container network management method according to claim 1, characterized in that: The step of sorting the containers according to the weights of the workload groups and performing priority scheduling on the container traffic in different workload groups based on the sorting results includes: Sort all containers to be scheduled according to the weight of the workload group, ensure that the containers in the highest-weighted workload group are scheduled first, and schedule the corresponding containers to the nodes with the highest calculation scores until all containers are scheduled; By calculating the global reference weight of each container and allocating logical virtual nodes to the containers on the virtual ring, the traffic priority of the containers in each workload grouping is dynamically adjusted in combination with the time slice and pointer mechanism.
3. The edge computing platform container network management method according to claim 2, characterized in that: The step of sorting all containers to be scheduled according to the weights of the workload groups, ensuring that the containers in the workload group with the highest weight obtain priority scheduling rights, and scheduling the corresponding containers to the nodes with the highest calculation scores until all containers are scheduled includes: S11, assigning a weight to each workload group, and sorting the workload groups of all containers to be created based on the weights to obtain a workload group queue; S12. Select the workload group with the highest weight from the workload group queue. If the workload group with the highest weight is associated with the corresponding cluster node group, form a set of nodes in the corresponding cluster node group, and list the containers to be created in the workload group with the highest weight to form a container list. S13, using a score calculation formula to calculate the score of each node in the node composition set relative to the container list; S14, select a container from the container list, and schedule the container in the workload group with the highest weight to the node with the highest score, and remove the pre-scheduled container from the container list; S15. Repeat step S14 until the container scheduling in the workload group with the highest weight is completed. S16. Repeat steps S12 to S15 until all containers in all workload groups are scheduled.
4. The edge computing platform container network management method according to claim 3, characterized in that: The score calculation formula is: In the formula, Score(N i ) represents the score of the i-th node in the node set; N i represents the i-th node in the node set; w1 represents the set CPU weight; CPU_REQ(P i ) represents the number of CPUs required by the i-th Pod; P i Indicates the current group G i The i-th Pod in CPU_TOTAL(N i ) represents the total CPU amount of the i-th node; CPU_AVG(N i ) represents the average CPU utilization of the i-th node in the reference time interval T; w2 represents the weight of the set memory; MEM_REQ(P i ) represents the memory size required by the i-th Pod; MEM_TOTAL(N i ) represents the total memory size of the i-th node; MEM_AVG(N i ) represents the average memory occupancy rate of the i-th node in the reference time interval T; w3 represents the weight of the set network; n represents the number of network interfaces required for the i-th Pod to be scheduled; j represents the index value; NET_REQ(P i D j ) represents the bandwidth value required by the jth network interface of the i-th Pod; NET_TOTAL(N i D j ) represents the bandwidth value of the jth network interface of the ith node; NET_AVG(N i D j ) represents the average bandwidth usage of the jth network interface of the i-th node in the reference time interval T; w4 represents the set storage weight; STG_REQ(P i ) represents the storage disk size required by the i-th Pod; STG_TOTAL(N i ) represents the storage disk size of the i-th node; STG_AVG(N i ) represents the average storage disk occupancy of the i-th node in the reference time interval T.
5. The edge computing platform container network management method according to claim 4, characterized in that: The method of calculating the global reference weight of each container, allocating a logical virtual node to the container on the virtual ring, and dynamically adjusting the flow priority of the container in each workload group in combination with the time slice and pointer mechanism includes: S21. Based on the workload grouping, set the workload group weight and the container weight, and calculate the global reference weight of each container based on the workload group weight and the container weight; S22. Based on the global reference weight, set a logical virtual node for each container, and sort the logical virtual nodes of all containers according to the number of virtual nodes and place them on the virtual ring; S23, select a tuple from the workload group queue with the highest weight, and place the virtual nodes of the corresponding containers on the virtual ring at intervals according to the preset rules. If the target position is occupied, search for an idle position in a clockwise direction; S24, repeat step S23 until the virtual nodes of all containers are allocated to the virtual ring; S25, within a preset time period window, divide the time into several time slices, set a pointer to point to the virtual ring start node, and process the network data packet of the container pointed to by the pointer within each time slice; S26. Set several pointers. When scheduling to the current cluster node group, repeat steps S21 to S25 to reconstruct the virtual ring to obtain priority scheduling of container traffic.
6. The edge computing platform container network management method according to claim 1, characterized in that: The node network manager is deployed based on the priority scheduling result, the network configuration and management of the nodes in the cluster node group are performed, and the corresponding subnet is configured for the container according to the network interface type, including: Based on the priority scheduling result, deploying a node network manager in the cluster node group, wherein the container of the node network manager includes a container connector and a container manager; The container connector in the node network manager communicates with the network controller, runs in network mode and accesses the host namespace; The network controller communicates and receives the container network interface creation request and notifies the node network manager of the corresponding node; The node network manager converts the received network interface configuration information into network commands and configures the corresponding subnet for the container based on the network interface type.
7. The edge computing platform container network management method according to claim 6, characterized in that: The network modes include: bridging mode, routing mode, virtual switch mode and transparent transmission mode.
8. The edge computing platform container network management method according to claim 7, characterized in that: The node network manager converts the received network interface configuration information into a network command, and configures a corresponding subnet for the container according to the network interface type, including: The container connector in the node network manager receives the network interface configuration information and transmits the network interface configuration information to the container manager, and the container manager converts the network interface configuration information into a network command; Based on the network command, confirm the network type of the network interface, wherein the network type includes a default network and a subnet; If the network type of the network interface is the default network, the container manager configures the network interface to obtain a network address from the address pool of the default network of the cluster node group; If the network type of the network interface is a subnet, the container manager determines the subnet name and subnet affiliation of the access network, and configures the network interface to obtain a network address from the determined subnet.
9. The edge computing platform container network management method according to claim 8, characterized in that: The workload grouping gateway is used to connect workload groups and cluster external services and control network traffic policies between groups.
10. An edge computing platform container network management system, characterized in that: The system includes: A user-defined resource creation module, used to create user-defined resources, wherein the user-defined resources include cluster node groups, namespace groups, workload groups, network interfaces and subnets; A priority scheduling module is used to sort the containers according to the weights of the workload groups, and to perform priority scheduling on the container traffic in different workload groups based on the sorting results; The network configuration module is used to deploy the node network manager based on the priority scheduling results, perform network configuration and management on the nodes in the cluster node group, and configure the corresponding subnet for the container according to the network interface type; The gateway setting module is used to configure the corresponding subnet according to the container and set the workload grouping gateway to control the network traffic strategy.
Citation Information
Patent Citations
Electric power Internet of Things container migration method for edge network load balancing
CN111694636A
Method and system of kubernetes container cloud platform VLAN
CN111796905A
Container network management system
CN114237812A
Elastic scheduling method and system for edge computing resources
CN115686830A
Self-adaptive anti-risk Kubernetes cluster scheduling method based on penalty factor
CN115981806A