Dpu-based network configuration method, worker node, control node, and device

By using the client controller on the DPU network card to monitor the northbound database, instead of accessing etcd, the network configuration process is simplified, the security risks and load pressure issues of the resource controller are resolved, and the cluster response speed is improved.

CN119052074BActive Publication Date: 2025-10-21YUSUR TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411172465.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2025-10-21
Estimated Expiration
2044-08-26

AI Technical Summary

Technical Problem

The resource controller running on the DPU system-on-chip needs to frequently access the distributed key-value store etcd, which makes the authorization process cumbersome and poses security risks, increases the load pressure on the control node, and reduces the response speed of the container cluster.

Method used

The client controller on the DPU network card listens to the northbound database instead of the resource controller listening to etcd, avoiding the tedious configuration steps of certificates and keys. It also reduces access to remote resource interface servers by caching LSP incremental entries, simplifying network configuration and reducing the load on control nodes.

Benefits of technology

It achieves simple and secure network configuration, reduces the load pressure on control nodes, and improves the response speed of the cluster.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119052074B_ABST
    Figure CN119052074B_ABST
Patent Text Reader

Abstract

The application relates to a DPU-based network configuration method, a working node, a control node and equipment, in particular to the technical field of network processing. The application comprises the following steps: when a container group is scheduled to a working node, selecting an available virtual function VF network port for the container group, and requesting a control node to change container resources, so that the control node creates a logical switch port LSP incremental entry carrying available VF network port information in a northbound database; a client controller on a DPU network card listens to the northbound database; after the client controller listens to a resource synchronization request sent by the northbound database, the resource synchronization request comprises an LSP incremental entry, and in response to the resource synchronization request, a virtual function representative port VFR corresponding to the available VF network port information is added to a virtual switch through the client controller. The application can improve the efficiency and safety of network configuration and accelerate the response speed of a cluster.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network processing technology, and in particular to a DPU-based network configuration method, working nodes, control nodes and devices, and a storage medium for implementing the DPU-based network configuration method. Background Art

[0002] Container clusters introduce data processing units (DPUs) as hardware offload technology, which can transfer data processing tasks from the central processing units (CPUs) of worker nodes to dedicated DPUs, thereby freeing data processing tasks from the CPUs, allowing the CPUs to focus on core application processing and improving the system performance and efficiency of worker nodes.

[0003] Currently, the OVS controller runs on the DPU system-on-chip (SoC). This resource controller monitors container information in the data repository, etcd, configures the network when creating new containers, and establishes an information pipeline between the container and the virtual switch (Open vSwitch, OVS). However, because the OVS controller runs on the DPU SoC outside the container orchestration platform (Kubernetes, K8s) cluster, monitoring the data repository, etcd, requires authorization. This means configuring certificates and keys for accessing and controlling the cluster. This authorization process is cumbersome and poses security risks. Furthermore, the OVS controller requires frequent access to the resource interface server, which puts load on nodes and reduces the responsiveness of the container cluster. Summary of the Invention

[0004] In order to solve the above technical problems or at least partially solve the above technical problems, the present application provides a DPU-based network configuration method, working node, control node and device, which makes network configuration simpler and safer, reduces the load pressure of the control node, and improves the cluster response speed.

[0005] In order to achieve the above objectives, the technical solutions provided in the embodiments of the present application are as follows:

[0006] In the first aspect, the present application provides a DPU-based network configuration method, which is applied to a working node. The method includes: when a container group is scheduled to a working node, selecting an available virtual function VF network port for the container group, and requesting the control node to change the container resources so that the control node creates a logical switch port LSP incremental entry carrying available VF network port information in the northbound database; monitoring the northbound database through the client controller on the DPU network card; after the client controller monitors the resource synchronization request sent by the northbound database, the resource synchronization request includes an LSP incremental entry, and in response to the resource synchronization request, the virtual function representative port VFR corresponding to the available VF network port information is added to the virtual switch through the client controller.

[0007] As an optional implementation of the embodiment of the present application, after the client controller monitors the resource synchronization request sent by the northbound database, the method also includes: synchronizing the LSP incremental entries to the local cache; wherein the local cache includes the original LSP full entries.

[0008] As an optional implementation of the embodiment of the present application, the northbound database is monitored through the client controller on the DPU network card, including: requesting the northbound database to cache the full LSP entries through the client controller; upon receiving the full LSP entries returned by the northbound database, storing the full LSP entries in the local cache; and waiting for the northbound database to send a resource synchronization request.

[0009] As an optional implementation manner of an embodiment of the present application, after the client controller monitors the resource synchronization request sent by the northbound database, in response to the resource synchronization request, the client controller adds the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch, and the method also includes: controlling the container group to transmit a one-arm echo message to the virtual switch through the available VF network port, where the destination address of the one-arm echo message is the address of the container group; when the container group receives the response message returned by the virtual switch through the VFR, it determines that the transmission pipeline constructed by the available VF network port and the VFR is connected.

[0010] In the second aspect, the present application provides a DPU-based network configuration method, which is applied to a control node. The method includes: responding to a request sent by a working node, changing the container resources in a distributed key-value storage library, and creating a logical switch port LSP incremental entry carrying available VF network port information in a northbound database; sending a resource synchronization request to a client controller on the working node through the northbound database, so that the client controller adds the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch.

[0011] In the third aspect, the present application provides a working node, including: a network port selection module, which is used to select an available virtual function VF network port for the container group when the container group is scheduled to the working node, and request the control node to change the container resources so that the control node can create a logical switch port LSP incremental entry carrying the available VF network port information in the northbound database; a monitoring module, which is used to monitor the northbound database through the client controller on the DPU network card; a configuration module, which is used to respond to the resource synchronization request after the client controller monitors the resource synchronization request sent by the northbound database, and the resource synchronization request includes the LSP incremental entry. The virtual function representative port VFR corresponding to the available VF network port information is added to the virtual switch through the client controller.

[0012] In the fourth aspect, the present application provides a control node, including: a resource change module, which is used to change the container resources in the distributed key-value storage library in response to the request sent by the working node, and create a logical switch port LSP incremental entry carrying available VF network port information in the northbound database; a sending module, which is used to send a resource synchronization request to the client controller on the working node through the northbound database, so that the client controller can add the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch.

[0013] In a fifth aspect, the present application provides an electronic device comprising: a processor, a memory, and a computer program stored in the memory and runnable on the processor, wherein when the computer program is executed by the processor, the DPU-based network configuration method as described in the first aspect or any one of its optional embodiments is implemented, or the DPU-based network configuration method as described in the second aspect or any one of its optional embodiments is implemented.

[0014] In a sixth aspect, the present application provides a computer-readable storage medium, comprising: a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, it implements the DPU-based network configuration method as described in the first aspect or any one of its optional embodiments, or implements the DPU-based network configuration method as described in the second aspect or any one of its optional embodiments.

[0015] In the seventh aspect, the present application provides a computer program product, comprising: the computer program product includes a computer program, and when the computer program is run on a computer, the computer implements the DPU-based network configuration method as described in the first aspect or any one of its optional embodiments, or implements the DPU-based network configuration method as described in the second aspect or any one of its optional embodiments.

[0016] The technical solution provided by the embodiments of the present application has the following advantages compared with the prior art:

[0017] An embodiment of the present application provides a DPU-based network configuration method, a working node, a control node, and a device, wherein the method includes: when a container group is scheduled to a working node, selecting an available virtual function VF network port for the container group, and requesting the control node to change the container resources so that the control node creates a logical switch port LSP incremental entry carrying available VF network port information in the northbound database; monitoring the northbound database through a client controller on the DPU network card; after the client controller monitors a resource synchronization request sent by the northbound database, the resource synchronization request includes an LSP incremental entry, and in response to the resource synchronization request, adding the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch through the client controller. In this way, the embodiment of the present application monitors the northbound database through the client controller on the DPU network card, instead of monitoring the distributed key-value storage library etcd through the resource controller, thereby avoiding the tedious steps of configuring certificates and keys, and avoiding the corresponding security risks, making network configuration simpler and safer; in addition, the client controller on the DPU network card responds to the resource synchronization request actively sent by the northbound database, caches the LSP incremental entries, avoids frequent access to the remote etcd resource interface server, thereby reducing the load pressure on the control node and improving the cluster response speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0019] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0020] Figure 1 A diagram of the configuration method for an existing network;

[0021] Figure 2 A schematic diagram of a DPU-based network configuration method provided in an embodiment of the present application Figure 1 ;

[0022] Figure 3 A schematic diagram of a DPU-based network configuration method provided in an embodiment of the present application;

[0023] Figure 4 A schematic diagram of a DPU-based network configuration method according to an embodiment of the present application Figure 2 ;

[0024] Figure 5 A schematic diagram of the structure of a working node provided in an embodiment of the present application;

[0025] Figure 6 A schematic diagram of the structure of a control node provided in an embodiment of the present application;

[0026] Figure 7 This is a schematic structural diagram of an electronic device described in an embodiment of the present application. DETAILED DESCRIPTION

[0027] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following briefly introduces the technical terms required to be used in the embodiments or the prior art description:

[0028] Kubernetes, a container orchestration platform also known as K8s, is an open source system for automating the deployment, scaling, and management of containerized applications. It groups the containers that make up an application into logical units for easier management and service discovery. K8s is often used to build multi-Container Network Interface (CNI) networks. Linux containers provide a lightweight virtualization method that allows multiple virtual environments (containers) to run simultaneously on a single host. Containers provide virtualization at the operating system level, where the kernel controls isolated containers.

[0029] The Data Processing Unit (DPU) is a newly developed category of specialized processors. Following the CPU and GPU, it is the third most important computing chip in data center scenarios, providing a computing engine for high-bandwidth, low-latency, data-intensive computing scenarios. It is a new generation of computing chips that are data-centric, I / O-intensive, and use software-defined technology to support infrastructure resource layer virtualization. They have the potential to improve computing system efficiency, reduce the total cost of ownership of the overall system, increase data processing performance, and reduce the performance loss of other computing chips. The DPU network card is a network card installed on a cloud server node in a data center, providing a high-bandwidth, low-latency heterogeneous network computing acceleration engine for the cloud server node. After the DPU network card is correctly installed on the node, the DPU network card resources appear in the node's kernel network space in the form of VF network ports and PF network ports.

[0030] The DPU system on chip (SOC) is an operating system deployed on the DPU network card.

[0031] etcd is an open-source, distributed key-value store for storing and managing the critical information required to keep distributed systems running. It can be likened to the catalog of a large library, recording information about all resources in the cluster and managing Kubernetes configuration data, state data, and metadata. etcd provides a single, consistent source of truth about the system state (including all clusters and container groups, and the application instances within them) at any given point in time. etcd is the data repository used to create and maintain this version of truth.

[0032] Open vSwitch (OVS) is a software-based virtualized Ethernet switch that supports port mirroring, VLANs, and other network monitoring protocols. OVS operates in kernel mode and supports multiple standard management interfaces and protocols, while supporting distributed environments across multiple physical servers. It also supports the OpenFlow protocol, a protocol that supports Software-Defined Networking (SDN), and can be integrated with numerous open source virtualization platforms.

[0033] A pod (or container group) is the smallest unit of deployment and management in a Kubernetes cluster, with collaborative addressing and scheduling. A pod contains one or more containers and the resources used to manage them. It is an abstract collection of one or more services (processes). Pods can share network and storage (it can be simply understood as a logical virtual machine, but it is not a virtual machine).

[0034] Kubelet is an agent component / daemon on Kubernetes worker nodes. It regularly receives new or modified Pod specifications from the Resource Interface Server (Kubernetes API Server) component and ensures that the Pod and its containers run according to the expected specifications. This component is not only responsible for receiving Pod updates from the API Server, but also serves as a monitoring component for the worker node, reporting the host's health to the Kubernetes API Server.

[0035] VF network port, Virtual Function (VF), refers to PCI Express (PCIe) Virtual Function (VF), which is a lightweight PCIe function that supports Single Root I / O Virtualization (SR-IOV).

[0036] ovn-kubernetes CNI, the Container Network Interface (CNI), is a CNCF project consisting of a set of specifications and libraries for configuring network interfaces for Linux containers, including plugins. CNI is only concerned with allocating networks when a container is created and releasing network resources when the container is deleted.

[0037] OVN is a lightweight SDN controller that is specifically designed to handle network issues and complete network operations through SDN. OVN manages the correspondence between logical networks and physical networks through the interaction of its northbound database (NBDB) and southbound database (SBDB), enabling flexible network configuration and management. Northbound database: OVN's northbound database contains two clients, the OVN / CMS plug-in and ovn-northd. ovn-northd is responsible for connecting the northbound database and the southbound database, converting the logical network configuration in the traditional network concept into a logical data path flow that the southbound database can understand. Southbound database: As the center of the system, the southbound database contains three types of data: a physical network table (specifying how to access the hypervisor and other nodes), a logical network table (describing the logical network using logical data path flows), and a binding table (used to link the location of logical network components to the physical network). In this way, OVN provides a centralized and scalable network management solution suitable for network virtualization and automated deployment needs in cloud computing environments.

[0038] The master node is the core control node in a distributed system or Kubernetes cluster, responsible for managing and controlling the operation and status of the entire cluster. It serves as the cluster's control center, processing client requests such as creating, reading, updating, and deleting resources. The master node manages and monitors the status of the entire cluster through its components, such as the API server, controller manager, scheduler, and etcd. These components work together to ensure high availability, scalability, and stability of the cluster.

[0039] The Kubernetes API Server, the resource interface server, serves as the core of the Kubernetes cluster, handling requests from worker nodes. Its primary purpose is to receive and process HTTP API calls. The Kubernetes API Server is a service provided by the kube-apiserver process running on the Master node. This service serves as the central hub for data exchange and communication between various functional modules within the cluster, acting as the data bus and data center for the entire system. Because the API Server handles critical data communication within the system, its performance determines the performance of the cluster. The Kubernetes API Server's functions include: providing a REST API interface for cluster management (including authentication and authorization, data validation, and cluster state changes); serving as a hub for data exchange and communication between other modules (other modules query or modify data through the API Server; only the API Server directly accesses etcd); acting as the entry point for resource quota control; and possessing comprehensive cluster security mechanisms. It can be compared to a large supermarket's checkout counter, handling the purchase, sale, creation, update, and query of various goods (resources).

[0040] like Figure 1 As shown, the current network configuration method includes the following steps:

[0041] Step 1: When the container group Pod is scheduled to a worker node, the daemon Kubelet running on the worker node selects an available VF from the virtual function VF list and sends the VF information of the available VF to the container network interface ovn-kubernetes CNI.

[0042] A virtual function VF list is maintained on the working node NODE, and the list appears in the form of a network port on the working node NODE; correspondingly, a virtual function representative port (VF representative, VFR) list is maintained on the DPU SOC, and VFR corresponds one to one with VF.

[0043] The selected available VF will serve as the network port for the container group Pod to communicate with the outside world. The container group Pod can use the available VF to direct traffic to the corresponding VFR on the DPU SOC side, and finally transmit it to the virtual switch connected to the VFR.

[0044] Step 2: The container network interface ovn-kubernetes CNI sends the VF information to the Kubernetes API server running on the control node Master.

[0045] Step 3: The resource interface server Kubernetes API Server stores the VF information in the container namespace pod info of the distributed key-value storage library etcd.

[0046] In this step, the operation event (pod event) of the container namespace pod info is treated as a create event, which can be monitored by the ovs controller running on the DPU SOC on the worker node NODE.

[0047] Step 4: The Kubernetes API Server transmits the pod event to the ovn-kubernetescontroller.

[0048] Step 5. ovn-kubernetescontroller creates an LSP corresponding to the operation event pod event.

[0049] Step 6: The ovs controller listens to the operation event pod event through the resource interface server Kubernetes API Server and obtains the VF information carried by the operation event pod event.

[0050] Step 7: The ovs controller connects the VFR corresponding to the VF information to the virtual switch ovs.

[0051] At this point, the DPU side completes the configuration of CNI and builds a transmission pipeline between the container group and the virtual switch OVS.

[0052] In the above steps, the controller OVS controller is run on the DPU SOC outside the cluster to monitor the data repository etcd. Such deployment of the controller OVS controller that monitors the data repository etcd requires the configuration of certificates and keys for accessing and controlling the cluster. However, the authorization process is cumbersome and poses security risks. In addition, because only the API server directly operates etcd, the controller OVS controller needs to frequently access the resource interface server Kubernetes API server to monitor the data repository etcd. Frequent access will put load pressure on the cluster control node Master.

[0053] In order to solve some or all of the technical problems existing in the related technology, the embodiments of the present application provide a network configuration method, working node, control node and device based on DPU, wherein the method listens to the northbound database through the client controller on the DPU network card, instead of listening to the distributed key-value storage library etcd through the resource controller, thereby avoiding the tedious steps of configuring certificates and keys, and avoiding the corresponding security risks, making network configuration simpler and safer; in addition, the client controller on the DPU network card responds to the resource synchronization request actively sent by the northbound database, caches the LSP incremental entries, avoids frequent access to the remote etcd resource interface server, thereby reducing the load pressure of the control node and improving the cluster response speed.

[0054] In order to more clearly understand the above-mentioned objectives, features and advantages of the present application, the scheme of the present application will be further described below. It should be noted that, in the absence of conflict, the embodiments of the present application and the features therein can be combined with each other.

[0055] In the following description, many specific details are set forth to facilitate a full understanding of the present application, but the present application can also be implemented in other ways different from those described herein; it is obvious that the embodiments in the specification are only part of the embodiments of the present application, not all of the embodiments.

[0056] A DPU-based network configuration method provided in the embodiments of the present application can be implemented by a network configuration device or an electronic device, and the electronic device includes but is not limited to a vehicle terminal, a server, a personal computer, a laptop computer, a tablet computer, a smart phone, etc. The operating system of the electronic device may include Android, a mobile operating system (iOS) developed by Apple, an operating system (Windows) developed by Microsoft Corporation of the United States, etc., and the embodiments of the present application are not limited to this. The electronic device can be run alone to implement the present application, or it can be connected to the network and implement the present application through interactive operations with other computer devices in the network. Among them, the network where the electronic device is located includes but is not limited to the Internet, a wide area network, a metropolitan area network, a local area network, a virtual private network (VPN) network, etc.

[0057] It should be noted that the protection scope of the DPU-based network configuration method described in the embodiment of the present application is not limited to the execution order of the steps listed in this embodiment. All solutions implemented by adding, subtracting, or replacing steps in the existing technology based on the principles of the present application are included in the protection scope of the present application.

[0058] like Figure 2 As shown, Figure 2 A schematic diagram of a DPU-based network configuration method according to an embodiment of the present application Figure 1 The method can be executed by a working node. The method mainly includes the following steps S201 to S203:

[0059] S201. When a container group is scheduled to a working node, an available virtual function (VF) network port is selected for the container group, and the control node is requested to change the container resources so that the control node creates an incremental logical switch port (LSP) entry in the northbound database that carries the available VF network port information.

[0060] The available VF network port information indicates information of the VF network port that is selected or used.

[0061] like Figure 3 , Figure 3 The worker node NODE shown includes the container group Pod, the daemon process Kubelet, the ovn-kubernetes CNI, as well as the VF list and PF network port. The PF network port is the PCI Express (PCIe) function of the network adapter that supports the single root I / O virtualization (SR-IOV) interface. The worker node NODE is installed with a DPU network card. The DPU SOC of the DPU network card includes a VFR list and PFR interface, as well as the client controller ovsdbClient controller and the virtual switch ovs.

[0062] Combine Figure 3 When a container group Pod is scheduled to a worker node NODE, the worker node NODE first selects an available virtual function VF network port for the container group Pod through the daemon process Kubelet and transmits the VF network port information to the ovn-kubernetes CNI; then, the ovn-kubernetes CNI sends a request to the resource interface server Kubernetes API Server of the control node Master to request that the VF network port information be written to the container namespace of the distributed key-value storage library etcd, completing the container resource change and VF network port configuration.

[0063] Correspondingly, on the control node Master side, such as Figure 3 The control node Master shown includes: the resource interface server Kubernetes API Server, the distributed key-value store etcd, the resource controller ovn-kubernetescontroller, and the northbound database ovn nbdb.

[0064] In response to the request, the resource interface server Kubernetes API Server writes the available VF network port information into the container namespace pod info of the distributed key-value storage library etcd; the resource controller ovn-kubernetes controller listens to this container resource change event, and in response to the container resource change event, creates a logical switch port LSP incremental entry for the container pod in the northbound database ovn nbdb. It should be emphasized that the LSP incremental entry carries the available VF network port information (VF info); then the northbound database ovn nbdb sends a resource synchronization request to the client controller ovsdbClientcontroller on the working node NODE side, and the resource synchronization request includes the LSP incremental entry.

[0065] S202: Monitor the northbound database through the client controller on the DPU network card.

[0066] The ovsdbClient controller on the DPU network card is used to monitor LSP resource change events in the northbound database ovn nbdb.

[0067] In some embodiments, the client controller requests a cached full LSP entry from a northbound database. Upon receiving the full LSP entry returned by the northbound database, the client controller stores the full LSP entry in a local cache and waits for the northbound database to send a resource synchronization request. This allows the client controller to retrieve only the changed incremental LSP entries during subsequent monitoring, and update the full LSP entry.

[0068] S203. After the client controller monitors the resource synchronization request sent by the northbound database, the resource synchronization request includes an LSP incremental entry. In response to the resource synchronization request, the client controller adds the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch.

[0069] like Figure 3 As shown, it is assumed that the client controller ovsdbClient controller northbound database ovn nbdb sends a resource synchronization request after changing the LSP resource. The resource synchronization request carries the information of the available VF network port selected by the daemon process kubelet. In response to the resource synchronization request, according to the available VF network port information, its corresponding VFR is added to the virtual switch ovs. The VF network port is connected to the VFR on the DPU SOC, thereby building an information transmission pipeline between the container group pod and the virtual switch ovs.

[0070] In some embodiments, the client controller ovsdbClient controller responds to the resource synchronization request, first caches the LSP incremental entries, specifically synchronizes the LSP incremental entries to the local cache to update the original LSP full entries in the local cache; then adds the VFR corresponding to the VF network port information to the virtual switch ovs.

[0071] In some embodiments, based on steps S201 to S203 above, to ensure connectivity between the available VF network port and the VFR network port, an embodiment of the present application further provides another implementation method: first, the container group is controlled to transmit a single-arm echo message to the virtual switch ovs through the available VF network port, where the destination address of the single-arm echo message is the address of the container group; if the available VF network port and the VFR network port are connected, the virtual switch on the DPU SOC can return a response message to the container group through the VFR network port according to the destination address of the single-arm echo message. When the container group receives the response message returned by the virtual switch through VFR, it can be determined that the available VF network port and the VFR network port are connected, that is, the transmission pipeline between the container group and the virtual switch on the DPU SOC is connected. If the available VF network port is not connected to the VFR network port, either the link from the available VF network port to the VFR network port is disconnected, and the virtual switch on the DPU SOC cannot receive the one-arm echo message, or the link from the VFR network port to the available VF network port is disconnected, and the container group cannot receive the response message returned by the virtual switch through VFR. Both of the above situations will result in the container group not receiving the response message. Therefore, if the container group does not receive the response message returned by the virtual switch through VFR, it is determined that the transmission pipeline between the available VF network port and VFR is disconnected. You can reselect another VF network port to configure the network.

[0072] In summary, an embodiment of the present application provides a network configuration method based on DPU. When a container group is scheduled to a working node, an available virtual function VF network port is selected for the container group, and the control node is requested to change the container resources so that the control node creates a logical switch port LSP incremental entry carrying the available VF network port information in the northbound database; the northbound database is monitored by the client controller on the DPU network card; after the client controller monitors the resource synchronization request sent by the northbound database, the resource synchronization request includes the LSP incremental entry. In response to the resource synchronization request, the virtual function representative port VFR corresponding to the available VF network port information is added to the virtual switch through the client controller. In this way, the embodiment of the present application monitors the northbound database through the client controller on the DPU network card, instead of monitoring the distributed key-value storage library etcd through the resource controller, thereby avoiding the tedious steps of configuring certificates and keys, and avoiding the corresponding security risks, making network configuration simpler and safer; in addition, the client controller on the DPU network card responds to the resource synchronization request actively sent by the northbound database, caches the LSP incremental entries, avoids frequent access to the remote etcd resource interface server, thereby reducing the load pressure on the control node and improving the cluster response speed.

[0073] like Figure 4 As shown, Figure 4 A schematic diagram of a DPU-based network configuration method according to an embodiment of the present application Figure 2 , the method can control the node execution. The method mainly includes the following steps S401 ~ S402:

[0074] S401 : In response to a request sent by a working node, the container resources in the distributed key-value store are changed, and a logical switch port LSP incremental entry carrying available VF network port information is created in the northbound database.

[0075] Combine Figure 3 As shown, the resource interface server Kubernetes API Server responds to the request sent by the working node NODE and writes the available VF network port information into the container namespace pod info of the distributed key-value storage library etcd; the resource controller ovn-kubernetes controller listens to this container resource change event, and in response to the container resource change event, creates an incremental entry of the logical switch port LSP of the container pod in the northbound database ovn nbdb.

[0076] It should be emphasized that the present application adds available VF network port information (VFinfo) in the extra field of the LSP incremental entry, so that the LSP incremental entry carries the available VF network port information.

[0077] S402: Send a resource synchronization request to the client controller on the working node through the northbound database, so that the client controller adds the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch.

[0078] The northbound database ovn nbdb sends a resource synchronization request to the client controller ovsdbClientcontroller on the working node NODE side. The resource synchronization request includes the LSP incremental entry.

[0079] In the above steps, on the control node side, since a client controller that directly monitors the northbound database is deployed on the working node, the northbound database creates a corresponding LSP incremental entry based on the pod resource change event and adds the available VF network port information to it. After that, it actively sends a resource synchronization request to the client controller to synchronize the available VF network port information to the DPU side. The DPU side can then select the corresponding VFR based on the available VF network port information and add it to the virtual switch, completing the construction of the transmission pipeline between the container group and the virtual switch on the working node.

[0080] like Figure 5 As shown, Figure 5 A working node provided in an embodiment of the present application includes:

[0081] The network port selection module 501 is configured to select an available virtual function (VF) network port for the container group when the container group is scheduled to a working node, and request the control node to change the container resources so that the control node creates an incremental logical switch port (LSP) entry in the northbound database that carries the available VF network port information.

[0082] A monitoring module 502 is configured to monitor the northbound database via a client controller on the DPU network card;

[0083] Configuration module 503 is used to add the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch through the client controller in response to the resource synchronization request after the client controller monitors the resource synchronization request sent by the northbound database, which includes an LSP incremental entry.

[0084] It should be noted that the structure of the working node provided in the embodiment of the present application can refer to Figure 3 The components shown are not described in detail here.

[0085] As an optional implementation of the embodiment of the present application, after the client controller monitors the resource synchronization request sent by the northbound database, the configuration module 503 is also used to: synchronize the LSP incremental entries to the local cache; wherein the local cache includes the original LSP full entries.

[0086] As an optional implementation of the embodiment of the present application, the monitoring module 502 is specifically used to: request the northbound database to cache the full LSP entry through the client controller; upon receiving the full LSP entry returned by the northbound database, store the full LSP entry in the local cache; and wait for the northbound database to send a resource synchronization request.

[0087] As an optional implementation of the embodiment of the present application, the working node further includes a detection module, which is configured to: control the container group to transmit a one-arm echo message to the virtual switch through an available VF network port, where the destination address of the one-arm echo message is the address of the container group; and when the container group receives a response message returned by the virtual switch through the VFR, determine that the transmission pipeline established by the available VF network port and the VFR is connected.

[0088] For the specific definition of the working node, please refer to the definition of the network configuration method based on the DPU above, which will not be repeated here. Each module in the above working node 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 the processor in the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to the above modules.

[0089] like Figure 6 As shown, Figure 6 A control node provided in an embodiment of the present application includes:

[0090] Resource change module 601, configured to change container resources in the distributed key-value store in response to a request sent by a working node, and create a logical switch port LSP incremental entry carrying available VF network port information in the northbound database;

[0091] The sending module 602 is configured to send a resource synchronization request to the client controller on the working node through the northbound database, so that the client controller adds the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch.

[0092] It should be noted that the structure of the control node provided in the embodiment of the present application can refer to Figure 3 The components shown are not described in detail here.

[0093] For the specific definition of the control node, please refer to the definition of the DPU-based network configuration method above, and will not be repeated here. Each module in the above-mentioned control node can be implemented in whole or in part by software, hardware, or a combination thereof. Each of the above-mentioned modules can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each of the above modules.

[0094] In one embodiment, the present application provides an electronic device, which may be a terminal, and its internal structure diagram may be as follows: Figure 7 As shown. The electronic device includes a processor, a memory, a communication interface, a display screen and an input device connected via a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The communication interface of the electronic device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, an operator network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a method for detecting a jam is implemented. The display screen of the electronic device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the electronic device can be a touch layer covering the display screen, or a button, trackball or touchpad provided on the electronic device housing, or an external keyboard, touchpad or mouse.

[0095] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the electronic device to which the solution of the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0096] An embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the various processes of the continuous prefix fine-tuning method for a large language model in the above-mentioned method embodiment and can achieve the same technical effect.

[0097] The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0098] An embodiment of the present application provides a computer program product, which stores a computer program. When the computer program is executed by a processor, it implements the various processes of the method for intelligent monitoring of structural safety during the multi-stage construction process of a building in the above-mentioned method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0099] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-usable storage media containing computer-usable program code.

[0100] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions, and operations of the devices, methods, and computer program products according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment, or a portion of code, and the module, program segment, or a portion of code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the boxes can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, as well as the combination of boxes in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified functions or actions, or can be implemented using a combination of dedicated hardware and computer instructions.

[0101] In this application, the processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0102] In this application, memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0103] In this application, computer-readable media includes permanent and non-permanent, removable and non-removable storage media. Storage media can be implemented by any method or technology to store information, and the information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0104] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device that includes the element.

[0105] The above are merely specific embodiments of the present application, intended to enable those skilled in the art to understand or implement the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application is not limited to these embodiments herein, but is intended to be construed in the broadest manner consistent with the principles and novel features disclosed herein.

Claims

1. A network configuration method based on a data processor DPU, characterized in that: Applied to working nodes, including: When a container group is scheduled to a working node, an available virtual function (VF) network port is selected for the container group, and the control node is requested to change the container resources so that the control node creates an incremental logical switch port (LSP) entry in the northbound database that carries the available VF network port information. Monitor the northbound database through the client controller on the DPU network card; After the client controller monitors the resource synchronization request sent by the northbound database, the resource synchronization request includes the LSP incremental entry. In response to the resource synchronization request, the virtual function representative port VFR corresponding to the available VF network port information is added to the virtual switch through the client controller.

2. The method according to claim 1, characterized in that After the client controller monitors the resource synchronization request sent by the northbound database, the method further includes: Synchronize the LSP incremental entry to the local cache; The local cache includes all entries of the original LSP.

3. The method according to claim 1, characterized in that The monitoring of the northbound database by the client controller on the DPU network card includes: The client controller requests the northbound database to cache all LSP entries. Upon receiving the full LSP entry returned by the northbound database, the full LSP entry is stored in the local cache. Waiting for the northbound database to send a resource synchronization request.

4. The method according to claim 1, wherein After the client controller monitors the resource synchronization request sent by the northbound database, and responds to the resource synchronization request, after the client controller adds the virtual function representative port (VFR) corresponding to the available VF network port information to the virtual switch, the method further includes: Control the container group to transmit a one-arm echo message to the virtual switch through the available VF network port, where the destination address of the one-arm echo message is the address of the container group; When the container group receives a response message returned by the virtual switch through the VFR, it is determined that the available VF network port is connected to the transmission pipeline constructed by the VFR.

5. A network configuration method based on a data processor DPU, characterized in that: Applicable to control nodes, including: In response to requests sent by working nodes, the container resources in the distributed key-value store are modified, and an incremental logical switch port LSP entry carrying available virtual function VF network port information is created in the northbound database; A resource synchronization request is sent to the client controller on the working node through the northbound database, so that the client controller adds the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch.

6. A working node, characterized in that: include: A network port selection module is configured to select an available virtual function (VF) network port for the container group when the container group is scheduled to a working node, and request the control node to change the container resources so that the control node creates an incremental logical switch port (LSP) entry in the northbound database that carries the available VF network port information; A monitoring module, configured to monitor the northbound database through a client controller on a data processor (DPU) network card; A configuration module is used to add the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch through the client controller in response to the resource synchronization request after the client controller monitors the resource synchronization request sent by the northbound database, the resource synchronization request includes the LSP incremental entry.

7. A control node, characterized in that: include: A resource change module is configured to respond to requests sent by working nodes, change container resources in the distributed key-value store, and create incremental logical switch port (LSP) entries in the northbound database that carry available virtual function (VF) network port information. The sending module is used to send a resource synchronization request to the client controller on the working node through the northbound database, so that the client controller adds the virtual function representative port VFR corresponding to the available VF network port information to the virtual switch.

8. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the network configuration method based on the data processor DPU according to any one of claims 1 to 4 or claim 5 is implemented.

9. A computer-readable storage medium, characterized in that include: The computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, it implements the network configuration method based on the data processor DPU according to any one of claims 1 to 4, or claim 5.

10. A computer program product, characterized in that include: The computer program product includes a computer program, and when the computer program is run on a computer, the computer is enabled to implement the network configuration method based on the data processor DPU according to any one of claims 1 to 4 or claim 5.

Citation Information

Patent Citations

  • Data processing method, device and equipment based on DPU and readable storage medium

    CN116886496A

  • Method and device for dynamically adjusting network resources of DPU (Data Processing Unit) application

    CN117240923A