Network configuration method based on cloud management platform and cloud management platform
By introducing proxy nodes to adjust network configurations, the burden on the cloud management platform when maintaining a large number of network nodes is resolved, and stable communication between computing nodes is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2026-03-31
AI Technical Summary
The cloud management platform is overburdened when maintaining the network configurations of a large number of network nodes, which can easily lead to failures and affect communication between computing nodes.
By introducing proxy nodes during the network configuration process, the configuration of network nodes can be adjusted. The proxy nodes are responsible for the specific operations of network configuration, while the cloud management platform only needs to notify and monitor, thus reducing its own burden.
This reduces the burden on the cloud management platform, avoids network configuration failures, and ensures normal communication between computing nodes.
Smart Images

Figure CN121771184A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud technology, and in particular to a network configuration method based on a cloud management platform and a cloud management platform. Background Technology
[0002] With the rapid development of cloud technology, more and more tenants are choosing to deploy their businesses in the cloud. Generally, cloud providers can offer tenants multiple compute nodes to work together to complete their business operations and meet their needs.
[0003] In cloud service systems based on relevant technologies, the cloud service system may include a cloud management platform and infrastructure. When a tenant has business needs, the cloud management platform can provide the tenant with multiple computing nodes and multiple network nodes on the infrastructure, and these network nodes can connect to the multiple computing nodes. To enable communication between these multiple computing nodes, the cloud management platform can configure the network nodes, thereby enabling communication between the multiple computing nodes.
[0004] In the above process, since the number of network nodes is usually large, and the cloud management platform is responsible for configuring and maintaining the network, the cloud management platform will be under heavy burden. This may cause the cloud management platform to malfunction, making it unable to maintain the network configuration of these multiple network nodes, and consequently preventing the multiple computing nodes from communicating normally. Summary of the Invention
[0005] This application provides a network configuration method and a cloud management platform based on a cloud management platform, which can reduce the burden on the cloud management platform during the network configuration process and can, to a certain extent, avoid the cloud management platform from failing due to network configuration.
[0006] A first aspect of this application provides a network configuration method based on a cloud management platform, wherein the cloud management platform implementing the method can manage infrastructure providing cloud services. The method includes:
[0007] When a tenant needs to create multiple compute nodes, the tenant can send node deployment requests and network configuration requests to the cloud management platform. The node deployment request includes the specification requirements set by the tenant for the multiple compute nodes, and the network configuration request includes the network requirements set by the tenant for the multiple compute nodes.
[0008] Based on node deployment requests, the cloud management platform can leverage the infrastructure to create multiple network nodes and multiple compute nodes that meet specification requirements for tenants, with the multiple compute nodes connected through multiple network nodes.
[0009] After obtaining multiple compute nodes and network nodes serving the tenant, the cloud management platform can create multiple proxy nodes based on network configuration requests and connect these proxy nodes to the multiple network nodes. Each proxy node can connect to at least one of the multiple network nodes, and the network nodes connected to different proxy nodes are typically different network nodes. Then, the cloud management platform can instruct each proxy node to adjust the configuration of the network nodes it is connected to, thereby obtaining multiple network nodes with adjusted configurations.
[0010] Since the adjusted network nodes meet the network requirements set by the tenant for multiple compute nodes, the adjusted network nodes can serve as a network between multiple compute nodes, thereby enabling communication between multiple compute nodes.
[0011] As can be seen from the above method, in the process of configuring multiple network nodes, the adjustment of the configuration of multiple network nodes is handled and completed by multiple agent nodes. The cloud management platform only needs to notify multiple agent nodes to perform these adjustment operations. The cloud management platform does not need to be deeply involved to complete the network configuration of multiple network nodes. This helps to reduce the burden on the cloud management platform and can, to a certain extent, avoid the situation where the cloud management platform fails due to network configuration. This ensures that the cloud management platform can maintain the network configuration of these multiple network nodes in the future, thereby ensuring normal communication between multiple computing nodes.
[0012] In one possible implementation, the method further includes: the cloud management platform acquiring the load of multiple proxy nodes and a preset load limit; among the multiple proxy nodes, if there is a first proxy node with a load greater than or equal to the load limit, the cloud management platform migrates some network nodes connected to the first proxy node to a second proxy node, wherein the second proxy node is one of the multiple proxy nodes or a proxy node created by the cloud management platform in real time. In the aforementioned implementation, the cloud management platform can collect the load of multiple proxy nodes in real time and obtain the preset load limit. Then, the cloud management platform can detect whether the load of multiple proxy nodes is greater than or equal to the load limit. If the load of the first proxy node is greater than or equal to the load limit, the cloud management platform can select the second proxy node and disconnect the connection between the first proxy node and some network nodes connected to it, and then re-establish the connection between these network nodes and the second proxy node. In this way, the number of network nodes connected to the first proxy node is reduced, that is, the number of network nodes it needs to manage is reduced, which can reduce the load of the first proxy node.
[0013] In one possible implementation, the method further includes: the cloud management platform acquiring the load of multiple proxy nodes and a preset load lower limit; among the multiple proxy nodes, if there is a third proxy node whose load is less than or equal to the load lower limit, the cloud management platform migrates all network nodes connected to the third proxy node to a fourth proxy node and deletes the third proxy node, where the fourth proxy node is one of the multiple proxy nodes. In the aforementioned implementation, the cloud management platform can collect the load of multiple proxy nodes in real time and obtain the preset load lower limit. Then, the cloud management platform can detect whether the load of multiple proxy nodes is less than or equal to the load lower limit. If the load of the third proxy node is less than or equal to the load lower limit, the cloud management platform can select the fourth proxy node, disconnect all network nodes connected to the third proxy node from the third proxy node, and then establish connections between these network nodes and the fourth proxy node. In this way, the third proxy node can be removed from the multiple proxy nodes, thereby saving the management resources required by the cloud management platform for proxy nodes and improving resource utilization.
[0014] In one possible implementation, the load of the fifth proxy node among the multiple proxy nodes includes the number of network nodes connected to the fifth proxy node and / or the number of requests to be processed by the fifth proxy node, wherein the fifth proxy node is any one of the multiple proxy nodes, and the requests are directed to the network nodes connected to the fifth proxy node.
[0015] In one possible implementation, the cloud management platform connects multiple agent nodes to multiple network nodes, or notifies multiple agent nodes to adjust the configuration of multiple network nodes. This includes: the cloud management platform sending a request to a fifth agent node, wherein the request is used to notify the fifth agent node to establish a connection between the fifth agent node and the network nodes, or to notify the fifth agent node to adjust the configuration of the network nodes, thereby obtaining the network nodes with adjusted configurations. In the aforementioned implementation, for any one of the multiple agent nodes, i.e., the fifth agent node, the cloud management platform can send a connection establishment request to the fifth agent node pointing to certain network nodes. The fifth agent node can then establish connections with these network nodes based on the connection establishment request. Then, the cloud management platform can also send a configuration adjustment request to the fifth agent node pointing to the network nodes it is connected to. The fifth agent node can then adjust the configuration of these network nodes based on the configuration adjustment request, thereby obtaining the network nodes with adjusted configurations.
[0016] In one possible implementation, the method further includes: the cloud management platform receiving a response sent by the fifth proxy node, wherein the response is sent by the network node to the fifth proxy node, and the response is used by the cloud management platform to determine that the network node has connected to the fifth proxy node, or to determine that the configuration of the network node has been adjusted. In the aforementioned implementation, after the network nodes to be connected to the fifth proxy node establish a connection with the fifth proxy node, these network nodes can send a connection establishment response to the proxy node, and the fifth proxy node can forward the connection establishment response to the cloud management platform, so the cloud management platform determines that these network nodes have completed the connection with the fifth proxy node. Similarly, after the configuration of the network nodes connected to the fifth proxy node is adjusted, these network nodes can send a configuration adjustment response to the fifth proxy node, and the fifth proxy node can forward the configuration adjustment response to the cloud management platform, so the cloud management platform can determine that the configuration of these network nodes has been adjusted by the fifth proxy node.
[0017] In one possible implementation, the method further includes: the cloud management platform receiving an event sent by a fifth proxy node, wherein the event is sent by the network node with adjusted configuration to the fifth proxy node, and the event indicates the status of the network node with adjusted configuration; based on the event, the cloud management platform notifies the fifth proxy node to adjust the configuration of the network node with adjusted configuration again, resulting in the network node with readjusted configuration. In the aforementioned implementation, the network nodes with adjusted configuration connected to the fifth proxy node can actively send events of these network nodes with adjusted configuration to the fifth proxy node, and these events are used to describe the status of these network nodes with adjusted configuration. Then, the proxy node can forward the event to the cloud management platform, and the cloud management platform can, based on this event, continue to notify the fifth proxy node to adjust the configuration of these network nodes with adjusted configuration again, thereby obtaining these network nodes with readjusted configuration. In this way, the cloud management platform can periodically adjust the configuration of each network node based on the status of each network node through the proxy node, thereby ensuring that each network node maintains a certain network performance and thus guaranteeing communication between multiple computing nodes.
[0018] In one possible implementation, the method further includes: if the sixth proxy node among the multiple proxy nodes is in a faulty state, the cloud management platform migrates all network nodes connected to the sixth proxy node to the seventh proxy node, wherein the seventh proxy node is one of the multiple proxy nodes. In the aforementioned implementation, the cloud management platform can also monitor the status of the multiple proxy nodes in real time. If the sixth proxy node among the multiple proxy nodes is in a faulty state, the cloud management platform can select the seventh proxy node and migrate all network nodes connected to the sixth proxy node to the seventh proxy node. In this way, the cloud management platform can ensure the availability and reliability of the multiple proxy nodes, thereby ensuring the normal management of network nodes.
[0019] In one possible implementation, multiple network nodes are switches.
[0020] In one possible implementation, multiple compute nodes can be physical servers, virtual machines, containers, microvirtual machines, or bare metal servers.
[0021] A second aspect of this application provides a cloud management platform for managing infrastructure providing cloud services. The infrastructure includes multiple computing nodes and multiple network nodes created by the cloud management platform for tenants. The multiple computing nodes are connected through the multiple network nodes. The cloud management platform includes: a receiving module for receiving network configuration requests sent by tenants for multiple computing nodes, the network configuration requests containing network requirements of the multiple computing nodes; a processing module for creating multiple proxy nodes based on the network configuration requests and connecting the multiple proxy nodes to the multiple network nodes, wherein each proxy node is connected to at least one of the multiple network nodes; and the processing module further for notifying the multiple proxy nodes to adjust the configuration of the multiple network nodes, the adjusted configuration of the multiple network nodes meeting the network requirements, and the adjusted configuration of the multiple network nodes enabling communication between the multiple computing nodes.
[0022] In one possible implementation, the processing module is further configured to: obtain the load of multiple proxy nodes and a preset load limit; among the multiple proxy nodes, if there is a first proxy node with a load greater than or equal to the load limit, migrate some network nodes connected to the first proxy node to a second proxy node, wherein the second proxy node is one of the multiple proxy nodes or a proxy node created in real time by the cloud management platform.
[0023] In one possible implementation, the processing module is further configured to: obtain the load of multiple proxy nodes and a preset load lower limit; among the multiple proxy nodes, if there is a third proxy node with a load less than or equal to the load lower limit, migrate all network nodes connected to the third proxy node to the fourth proxy node and delete the third proxy node, wherein the fourth proxy node is one of the multiple proxy nodes.
[0024] In one possible implementation, the load of the fifth proxy node among the multiple proxy nodes includes the number of network nodes connected to the fifth proxy node and / or the number of requests to be processed by the fifth proxy node, wherein the fifth proxy node is any one of the multiple proxy nodes, and the requests are directed to the network nodes connected to the fifth proxy node.
[0025] In one possible implementation, the processing module is used to send a request to the fifth agent node, wherein the request is used to notify the fifth agent node to establish a connection between the fifth agent node and the network node, or to notify the fifth agent node to adjust the configuration of the network node to obtain the network node with the adjusted configuration.
[0026] In one possible implementation, the processing module is further configured to receive a response sent by the fifth agent node, wherein the response is sent by the network node to the fifth agent node, and the response is used by the cloud management platform to determine that the network node has connected to the fifth agent node, or to determine that the configuration of the network node has been adjusted.
[0027] In one possible implementation, the processing module is further configured to: receive an event sent by the fifth agent node, wherein the event is sent by the network node after configuration adjustment to the fifth agent node, and the event is used to indicate the status of the network node after configuration adjustment; and based on the event, notify the fifth agent node to adjust the configuration of the network node after configuration adjustment again to obtain the network node after configuration adjustment.
[0028] In one possible implementation, the processing module is further configured to migrate all network nodes connected to the sixth proxy node to the seventh proxy node if the sixth proxy node among the multiple proxy nodes is in a fault state, wherein the seventh proxy node is one of the multiple proxy nodes.
[0029] In one possible implementation, multiple network nodes are switches.
[0030] In one possible implementation, multiple compute nodes can be physical servers, virtual machines, containers, microvirtual machines, or bare metal servers.
[0031] A third aspect of this application provides a cloud service system. The cloud service system includes a cloud management platform and infrastructure. The infrastructure includes multiple computing nodes and multiple network nodes created by the cloud management platform for tenants. The multiple computing nodes are connected to each other through the multiple network nodes. The cloud management platform is used to receive network configuration requests sent by tenants for multiple computing nodes. The network configuration requests include the network requirements of the multiple computing nodes. The cloud management platform is used to create multiple proxy nodes based on the network configuration requests and connect the multiple proxy nodes to the multiple network nodes. Each proxy node is connected to at least one of the multiple network nodes. The multiple proxy nodes are used to adjust the configuration of the multiple network nodes based on notifications from the cloud management platform. The adjusted configuration of the multiple network nodes meets the network requirements. The adjusted configuration of the multiple network nodes is used to enable communication between the multiple computing nodes.
[0032] A fourth aspect of this application provides a computing device cluster, the computing device cluster including at least one computing device, each computing device including a processor and a memory: the memory is used to store instructions; the processor is used to cause the computing device cluster to perform the method described in the first aspect or any possible implementation of the first aspect according to the instructions.
[0033] A fifth aspect of this application provides a computer storage medium storing one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method described in the first aspect or any possible implementation of the first aspect.
[0034] A sixth aspect of this application provides a computer program product storing instructions that, when executed by a computer, cause the computer to perform the method described in the first aspect or any possible implementation of the first aspect.
[0035] In this embodiment, when a tenant has business needs, the cloud management platform can create multiple dedicated compute nodes and multiple network nodes for the tenant based on the node deployment request provided by the tenant. These compute nodes are connected through the network nodes. Next, the cloud management platform can create multiple proxy nodes and establish connections between them and the network nodes based on the network configuration request provided by the tenant. Each proxy node is connected to at least one of the network nodes. Then, the cloud management platform can notify the proxy nodes to adjust the configuration of the network nodes, resulting in the adjusted network nodes. In this way, the adjusted network nodes enable communication between the compute nodes to complete the tenant's business and meet its needs. In the aforementioned network configuration process for multiple network nodes, the adjustment of the network node configuration is handled by the proxy nodes. The cloud management platform only needs to notify the proxy nodes to perform these adjustments; it does not need deep involvement to complete the network configuration for multiple network nodes. This reduces the burden on the cloud management platform and can, to some extent, prevent network configuration failures, ensuring that the cloud management platform can maintain the network configuration of these multiple network nodes and thus guarantee normal communication between the compute nodes. Attached Figure Description
[0036] Figure 1 A schematic diagram of the structure of the cloud service system provided in the embodiments of this application;
[0037] Figure 2 This is another schematic diagram of the cloud service system provided in the embodiments of this application;
[0038] Figure 3 A flowchart illustrating a network configuration method based on a cloud management platform provided in an embodiment of this application;
[0039] Figure 4 A schematic diagram of the structure of the cloud service system provided in the embodiments of this application;
[0040] Figure 5 A schematic diagram illustrating an application example of the network configuration method provided in this application embodiment;
[0041] Figure 6 This is another schematic diagram of the cloud service system provided in the embodiments of this application;
[0042] Figure 7 This is another schematic diagram of the cloud service system provided in the embodiments of this application;
[0043] Figure 8 A schematic diagram of the structure of the cloud management platform provided in the embodiments of this application;
[0044] Figure 9 A schematic diagram of the structure of a computing device provided in an embodiment of this application;
[0045] Figure 10 A schematic diagram of the structure of a computing device cluster provided in an embodiment of this application;
[0046] Figure 11 This is a schematic diagram illustrating the network connection of computer devices in a computer cluster provided in an embodiment of this application. Detailed Implementation
[0047] This application provides a network configuration method and a cloud management platform based on a cloud management platform, which can reduce the burden on the cloud management platform during the network configuration process and can, to a certain extent, avoid the cloud management platform from failing due to network configuration.
[0048] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.
[0049] With the rapid development of cloud technology, more and more tenants are choosing to deploy their businesses in the cloud. Generally, cloud providers can offer tenants multiple compute nodes to work together to complete their business operations and meet their needs.
[0050] In cloud service systems based on relevant technologies, the cloud service system may include a cloud management platform and infrastructure. When a tenant has business needs, the cloud management platform can create multiple compute nodes and multiple network nodes for the tenant using the infrastructure, according to the tenant's business needs. These multiple network nodes can connect to the multiple compute nodes. To enable communication between these multiple compute nodes, that is, to establish a network connection between them, the cloud management platform can configure the network nodes. This allows the configured network nodes to communicate with the compute nodes, thereby enabling the compute nodes to fulfill the tenant's business needs.
[0051] In the above process, since the number of network nodes is usually large, and the cloud management platform is responsible for configuring and maintaining the network, the cloud management platform will be under heavy burden. This may cause the cloud management platform to malfunction, making it unable to maintain the network configuration of these multiple network nodes, and consequently preventing the multiple computing nodes from communicating normally.
[0052] Furthermore, since the cloud management platform needs to manage a large number of network nodes, if the number of network nodes is too large, the resources of the cloud management platform are insufficient to complete the node management. It is often impossible to easily expand the cloud management platform (or shrink the cloud management platform in other cases), which leads to various problems in the management of network nodes, and thus affects the communication between computing nodes.
[0053] To address the aforementioned issues, this application provides a network configuration method based on a cloud management platform, which can be implemented through a cloud service system. Figure 1 A schematic diagram of the cloud service system provided in the embodiments of this application is shown below. Figure 1 As shown, a cloud service system includes the infrastructure that provides cloud services and a cloud management platform that manages this infrastructure. The cloud management platform and the infrastructure are described separately below:
[0054] A cloud management platform can centrally manage the infrastructure across the entire cloud service system. (For example, within the infrastructure, it can create a cluster serving a tenant according to their instructions. This cluster can run the tenant's applications, allowing the tenant to access the cluster and use their applications to complete their business tasks, thus meeting their business needs.) The cloud management platform can also be open to tenants outside the cloud service system and respond to their requests. For instance, it can provide various interfaces, such as login and creation interfaces, for tenant clients (e.g., the terminal devices used by the tenant or the browsers on those devices). Specifically, the cloud management platform can authenticate a tenant's client through the login interface, allowing the client to log in after successful authentication. For example, the cloud management platform can also create an interface that allows the tenant's clients to send creation requests for multiple compute nodes in their cluster to the cloud management platform. These requests can include node deployment requests and network configuration requests. The node deployment request can include the specification requirements of these compute nodes, and the network configuration request can include the network requirements. Based on these requests, the cloud management platform can create multiple compute nodes and multiple network nodes from the infrastructure that meet these specification requirements. These compute nodes are connected to each other through the network nodes. Then, the cloud management platform can create multiple proxy nodes and establish connections between these proxy nodes and the network nodes. Each proxy node can connect to at least one of the network nodes, meaning each proxy node can manage the network nodes it connects to. Subsequently, the cloud management platform can notify each proxy node to adjust the configuration of the network nodes it connects to according to the network requirements, thus obtaining multiple network nodes with adjusted configurations. Since the adjusted network nodes meet the network requirements, i.e., they have a certain network configuration, they can achieve communication between the multiple compute nodes, thereby meeting the tenant's business needs.
[0055] The infrastructure includes a cluster that provides cloud services to the tenant. This cluster may contain multiple network nodes and multiple compute nodes. The network nodes can act as communication bridges between the compute nodes. In other words, the network nodes can connect the compute nodes. It should be noted that the connection here refers to the physical layer connection. The network nodes also need to be configured at the software layer by the cloud management platform (e.g., configuring flow tables for each network node) before they can function as a network with certain communication capabilities between the compute nodes, thereby enabling communication between the compute nodes.
[0056] It is worth noting that, such as Figure 2 As shown ( Figure 2(This is another structural diagram of the cloud service system provided in the embodiments of this application). The cloud management platform may include a management module (also called the management plane) and a control module (also called the control plane). The management module may provide various interfaces such as login interface and creation interface to tenants. The control module may include a controller, a message queue (MQ), and multiple proxy nodes. The controller, MQ, and proxy nodes are described below:
[0057] A communication connection can be established between the controller and multiple agent nodes, and a bidirectional communication channel can be set up between them. Based on this, the controller can send various requests to multiple agent nodes via MQ. For any one of the multiple agent nodes, the agent node can perform the following operations based on these requests: the agent node can establish and maintain a connection with at least one of the multiple network nodes, and can also adjust the configuration of the network node connected to the agent node, etc. Correspondingly, the agent node can also return various responses from the network nodes connected to the agent node to the controller. These responses enable the controller to determine the following: the configuration of the network node connected to the agent node has been adjusted, and the connection between the agent node and its connected network nodes remains, etc.
[0058] Communication connections can be established between multiple agent nodes and multiple network nodes, and bidirectional communication channels can also be established between them. Based on this, for any one of the multiple agent nodes, under the instruction of the controller, the agent node can establish and maintain a connection with at least one of the multiple network nodes, and can also adjust the configuration of the network nodes connected to the agent node, etc. Correspondingly, under the instruction of the network nodes it is connected to, the agent node can also instruct the controller to determine that the configuration of the network nodes connected to the agent node has been adjusted, and to maintain the connection between the agent node and its connected network nodes, etc.
[0059] In addition, the network nodes connected to the agent node can also actively report events to the agent node. The agent node can then report the events to the controller, so that the controller can determine the status of these network devices based on the events, and then notify the agent node to perform various subsequent operations on these network devices through MQ. This will not be elaborated on here.
[0060] Furthermore, regarding the controller, message queue (MQ), and multiple agent nodes included in the cloud management platform, the controller can be deployed internally within the cloud management platform, while the MQ and multiple agent nodes can be deployed remotely. The MQ is deployed between the controller and the multiple agent nodes, while the multiple agent nodes are located close to multiple network nodes in the infrastructure. Of course, the controller, MQ, and multiple agent nodes can also all be deployed internally within the cloud management platform; there are no restrictions here.
[0061] Furthermore, for multiple proxy nodes, these proxy nodes can be presented in various forms. For example, these proxy nodes can be physical servers selected by the cloud management platform in the infrastructure; they can also be bare metal servers selected by the cloud management platform in the infrastructure; they can also be virtual machines (VMs) created by the cloud management platform on physical servers or bare metal servers using virtualization technology; they can also be containers (Docker) created by the cloud management platform on physical servers or bare metal servers using virtualization technology; they can also be microVMs created by the cloud management platform on physical servers or bare metal servers using virtualization technology, and so on.
[0062] Furthermore, for clusters serving tenants, the multiple network nodes within the cluster are typically cloud instances. These cloud instances can take various forms; for example, they can be switches. Alternatively, they can be virtual machines (VMs) created on physical network devices by a cloud management platform using virtualization technology; they can also be containers (Docker) created on physical network devices by a cloud management platform using virtualization technology; and they can even be microVMs created on physical network devices by a cloud management platform using virtualization technology, and so on.
[0063] Furthermore, for clusters serving tenants, the multiple compute nodes within the cluster are typically cloud instances. These cloud instances can take various forms. For example, they can be physical servers (containing certain specifications of compute, storage, and network resources, etc.) selected by the cloud management platform in the infrastructure. Alternatively, they can be bare-metal servers (containing certain specifications of compute, storage, and network resources, etc.) selected by the cloud management platform in the infrastructure. Furthermore, these cloud instances can be virtual machines (VMs) created by the cloud management platform on physical servers or bare-metal servers using virtualization technology. They can also be containers (Docker) created by the cloud management platform on physical servers or bare-metal servers using virtualization technology. Finally, they can be microVMs created by the cloud management platform on physical servers or bare-metal servers using virtualization technology, and so on.
[0064] Furthermore, for multiple network nodes and multiple computing nodes, they can be deployed in the same site or in different sites. The site can be presented in various forms, such as a region, an availability zone, a data center (DC), a room, a rack, etc.
[0065] Based on the aforementioned cloud service system, when a tenant has business needs, the cloud management platform can create multiple dedicated compute nodes and network nodes for the tenant based on the node deployment request provided by the tenant. These compute nodes are connected through the network nodes. Next, based on the network configuration request provided by the tenant, the cloud management platform can create multiple proxy nodes and establish connections between them and the network nodes. Each proxy node is connected to at least one of the network nodes. Then, the cloud management platform can instruct the proxy nodes to adjust the configuration of the network nodes, resulting in a reconfigured set of network nodes. In this way, the reconfigured network nodes enable communication between the compute nodes to complete the tenant's business tasks and meet their requirements. In the aforementioned network configuration process involving multiple network nodes, the adjustment operations for the configuration of these nodes are handled and completed by multiple agent nodes. The cloud management platform only needs to notify these agent nodes to execute these adjustments. The cloud management platform does not require deep involvement to complete the network configuration for multiple network nodes. This reduces the burden on the cloud management platform and can, to some extent, prevent network configuration failures, ensuring that the cloud management platform can maintain the network configuration of these multiple network nodes subsequently, thereby guaranteeing normal communication between the multiple computing nodes. To further understand the workflow of the cloud management platform, the following section combines... Figure 3 To further explain the process, Figure 3 A flowchart illustrating the network configuration method based on a cloud management platform provided in this application embodiment is shown below. Figure 3 As shown, this method can be achieved through, as Figure 1 or Figure 2 The cloud service system implementation shown includes infrastructure for providing cloud services to tenants and a cloud management platform for managing this infrastructure. The method includes:
[0066] 301. The cloud management platform receives network configuration requests from tenants for multiple compute nodes. The network configuration requests contain the network requirements of the multiple compute nodes.
[0067] In this embodiment, when a tenant needs to create multiple computing nodes to execute its business, the cloud management platform can provide a creation interface to the tenant's client. The tenant can send node deployment requests and network configuration requests to the creation interface through its client. In this way, the cloud management platform can receive the node deployment requests and network configuration requests sent by the tenant's client through the creation interface. The node deployment request includes the specification requirements set by the tenant for the multiple computing nodes (e.g., the specifications of computing resources, storage resources, and network resources required by the multiple computing nodes, etc.), and the network configuration request includes the network requirements set by the tenant for the multiple computing nodes (e.g., the bandwidth and communication latency required for the network between the multiple computing nodes, etc.).
[0068] Based on node deployment requests, the cloud management platform can leverage the infrastructure to create multiple network nodes and multiple compute nodes that meet specification requirements for tenants, with the multiple compute nodes connected through multiple network nodes.
[0069] 302. The cloud management platform creates multiple proxy nodes based on network configuration requests and connects the multiple proxy nodes to multiple network nodes, wherein each proxy node is connected to at least one of the multiple network nodes.
[0070] 303. The cloud management platform notifies multiple agent nodes to adjust the configuration of multiple network nodes. The adjusted network nodes meet the network requirements and are used to enable communication between multiple computing nodes.
[0071] After obtaining multiple compute nodes and network nodes serving the tenant, to enable communication between the compute nodes using these network nodes, the cloud management platform can create multiple proxy nodes based on network configuration requests. These proxy nodes are then connected to the network nodes, with each proxy node connecting to at least one of the network nodes. Typically, different proxy nodes manage different network nodes. The cloud management platform then instructs each proxy node to adjust the configuration of its connected network nodes, resulting in a reconfigured network of nodes. Since this reconfigured network of nodes meets the network requirements set by the tenant for the compute nodes, it can function as a network with sufficient communication capabilities between the compute nodes, thus enabling communication between them.
[0072] Specifically, the cloud management platform can build connections between multiple agent nodes and multiple network nodes in the following ways:
[0073] For any one of the multiple proxy nodes (i.e., the aforementioned fifth proxy node), the cloud management platform can send a connection establishment request (i.e., the aforementioned request) to that proxy node, which can then establish connections with these network nodes based on the connection establishment request. The cloud management platform can perform similar operations on the remaining proxy nodes, which will not be elaborated here.
[0074] In this way, the cloud management platform can enable multiple agent nodes to connect with multiple network nodes, and each agent node can connect to at least one network node, and each agent node can manage the network nodes it connects to.
[0075] For example, such as Figure 4 As shown ( Figure 4 (This is a schematic diagram of a cloud service system provided in an embodiment of this application). When a tenant needs to create its job cluster, the tenant can send a node deployment request and a network configuration request to the management plane of the cloud management platform. Then, the management plane can create network nodes 1 to 6 and compute nodes 1 to 12 for the tenant according to the tenant's node deployment request. Compute nodes 1 to 12 are connected through network nodes 1 to 6. Next, the management plane can provide the network configuration request to the controller in the control plane.
[0076] Then, the controller can create MQ and proxy1 to proxy3 based on the network configuration request, and assign network node 1 and network node 2 to proxy1, network node 3 and network node 4 to proxy2, and network node 5 and network node 6 to proxy3. That is, the information of network node 1 and network node 2 can be hashed (of course, other calculation methods are also possible, which are not limited here) to obtain the identifier of proxy1, the information of network node 3 and network node 4 can be hashed to obtain the identifier of proxy2, and the information of network node 5 and network node 6 can be hashed to obtain the identifier of proxy3.
[0077] The controller can then send a connection establishment request to the message queue (MQ) for network nodes 1 and 2. Since this request contains information about network nodes 1 and 2, the MQ can hash this information to obtain the identifier for proxy1. Therefore, the MQ can forward the request to proxy1 for processing. Upon receiving the request, proxy1 determines that it needs to establish connections with network nodes 1 and 2, and thus proxy1 can connect to both network nodes. In other words, proxy1 can subsequently manage network nodes 1 and 2. Similarly, proxy2 can connect to network nodes 3 and 4, and proxy32 can connect to network nodes 5 and 6; these details will not be elaborated further here.
[0078] More specifically, the cloud management platform can notify multiple agent nodes to adjust the configuration of multiple network nodes in the following ways:
[0079] The cloud management platform can determine the required service configurations for multiple network nodes based on the network requirements set by the tenant. Since these network nodes have initial configurations after creation, the cloud management platform can generate configuration adjustment requests for these network nodes to adjust their initial configurations to the required service configurations. For any one of the multiple proxy nodes (i.e., the aforementioned fifth proxy node), the cloud management platform can send a configuration adjustment request (i.e., the aforementioned request) to that proxy node pointing to the network nodes it connects to. Based on this request, the proxy node can adjust the configurations of these network nodes, changing their initial configurations to the required service configurations, thus obtaining the adjusted network nodes. The cloud management platform can perform similar operations for the remaining proxy nodes, which will not be elaborated here.
[0080] In this way, the cloud management platform can enable multiple agent nodes to adjust the configuration of multiple network nodes, thereby obtaining multiple network nodes with adjusted configurations. Therefore, the multiple network nodes with adjusted configurations can serve as a network with certain communication performance between multiple computing nodes, thus enabling communication between multiple computing nodes.
[0081] It should be noted that adjusting configurations typically refers to modifying the flow tables within a network node. For any given network node, its flow table records the sources of traffic that can be received by each port, the destinations of traffic that can be forwarded by each port, the size of traffic that can be transmitted by each port, the latency of traffic transmitted by each port, and so on. Therefore, by adjusting the flow table content of a network node, the communication paths and performance between the source and destination compute nodes connected to that network node can be planned, thereby enabling communication between the source and destination compute nodes. Based on this, the initial configuration of multiple network nodes usually refers to the unadjusted flow tables of multiple network nodes, while the service configuration of multiple network nodes refers to the adjusted flow tables of multiple network nodes. Since multiple network nodes containing adjusted flow tables (i.e., multiple network nodes after configuration adjustment) can meet the network requirements set by the tenant for multiple compute nodes (i.e., the bandwidth, latency, etc. required for the network between multiple compute nodes), multiple network nodes can achieve communication between multiple compute nodes based on these flow tables.
[0082] As in the example above, such as Figure 5 As shown ( Figure 5 (This is a schematic diagram illustrating an application example of the network configuration method provided in this application embodiment.) Since the network configuration request also includes the network requirements set by the tenant for compute nodes 1 to 12, the controller can determine the service configurations that compute nodes 1 to 12 need to have based on these network requirements, generate configuration adjustment requests for compute nodes 1 to 12, and send them to the MQ. The MQ can hash the information in the configuration adjustment requests for network nodes 1 and 2 to obtain the identifier of proxy1. Therefore, the MQ can send the configuration adjustment requests for network nodes 1 and 2 to proxy1, so that proxy1 can adjust the configuration of network nodes 1 and 2 based on the request, that is, adjust the initial configuration of network nodes 1 and 2 to the service configuration, thereby obtaining the adjusted configuration of network nodes 1 and 2.
[0083] Similarly, proxy2 can also adjust the configuration of network node 3 and network node 4, and proxy3 can also adjust the configuration of network node 5 and network node 6.
[0084] More specifically, the cloud management platform can also perform the following operations:
[0085] For any one of the multiple proxy nodes (i.e., the aforementioned fifth proxy node), after the network nodes connected to this proxy node establish a connection with it, these network nodes can send a connection establishment response (i.e., the aforementioned response) to the proxy node. The proxy node can then forward the connection establishment response to the cloud management platform, allowing the cloud management platform to determine that these network nodes have completed the connection with the proxy node based on the response. The same applies to the remaining proxy nodes, which will not be elaborated further here.
[0086] For any one of the multiple proxy nodes (i.e., the aforementioned fifth proxy node), after the configuration of the network nodes connected to this proxy node is adjusted, these network nodes can send a configuration adjustment response (i.e., the aforementioned response) to this proxy node. This proxy node can then forward the configuration adjustment response to the cloud management platform, allowing the cloud management platform to determine, based on the response, that the configuration of these network nodes has been adjusted by this proxy node. The same applies to the remaining proxy nodes, which will not be elaborated further here.
[0087] More specifically, the cloud management platform can also perform the following operations:
[0088] For any one of the multiple proxy nodes (i.e., the aforementioned fifth proxy node), the network nodes connected to that proxy node with adjusted configurations can proactively send events about these adjusted network nodes to that proxy node. These events describe the status of these adjusted network nodes. For example, the event could describe whether the network nodes with adjusted configurations are still connected to the proxy node, or whether some ports of these network nodes are experiencing abnormalities.
[0089] Upon receiving the event, the agent node can forward it to the cloud management platform. If the event describes a situation where certain ports of these network nodes, after configuration adjustments, are experiencing anomalies or require further configuration adjustments, the cloud management platform can notify the agent node to adjust the configuration of these network nodes again. This involves changing the service configuration of these network nodes from their original configuration to the new service configuration (i.e., the flow tables have been adjusted again), thus obtaining these network nodes with the revised configuration. It should be noted that this adjustment process can be referred to the relevant descriptions of the initial adjustment process described above, and will not be repeated here. If the event describes that these network nodes after configuration adjustments are in a normal state (i.e., they maintain a heartbeat), the cloud management platform can notify the agent node to maintain its connection with these network nodes after configuration adjustments. It should be noted that this maintenance process can be referred to the relevant descriptions of the connection establishment process described above, and will not be repeated here.
[0090] Continuing with the example above, after proxy1 adjusts the configuration of network node 1, the configured network node 1 can proactively send an event to proxy1 describing its status. This event describes the state of the configured network node 1, such as an anomaly occurring on a certain port of the configured network node 1. proxy1 can forward this event to the controller, which can then generate a configuration adjustment request for network node 1 based on the event. The controller then hashes this request to proxy1 via message queue (MQ), allowing proxy1 to adjust the configuration of the configured network node 1 again based on the request, resulting in a reconfigured network node 1.
[0091] Of course, the remaining network nodes after the configuration adjustment can also actively report events. If some events describe that the status of the remaining network nodes after the configuration adjustment is normal, the controller can notify the proxy to maintain its connection with the remaining network nodes after the configuration adjustment.
[0092] More specifically, the cloud management platform can also perform the following operations:
[0093] The cloud management platform can collect the load of multiple agent nodes in real time and obtain preset load upper and lower limits. Then, the platform can detect whether the load of multiple agent nodes is between the upper and lower limits. If the load of an agent node is greater than or equal to the upper limit, it indicates that the agent node is overloaded (i.e., the aforementioned first agent node). The cloud management platform can select one of the remaining agent nodes as a migrated agent node (i.e., the aforementioned second agent node) or create a new agent node as a migrated agent node. It then disconnects the connections between the overloaded agent node and some of the network nodes connected to it, and then re-establishes the connections between these network nodes and the migrated agent node. In this way, the number of network nodes connected to the overloaded agent node is reduced, meaning the number of network nodes it needs to manage is reduced, thus lowering the load on the overloaded agent node. If the load of a certain proxy node is less than or equal to the lower load limit, it indicates that the proxy node is a lightly loaded proxy node (i.e., the aforementioned third proxy node). The cloud management platform can select one of the remaining proxy nodes as a migrateable proxy node (i.e., the aforementioned fourth proxy node), disconnect all network nodes connected to the lightly loaded proxy node from the lightly loaded proxy node, and then establish connections between these network nodes and the migrateable proxy node. In this way, the lightly loaded proxy node can be removed from multiple proxy nodes, thereby saving the management resources required by the cloud management platform for proxy nodes and improving resource utilization.
[0094] Furthermore, for any one of the multiple proxy nodes, its load may include the number of network nodes connected to the proxy node and the number of requests to be processed by the proxy node, etc. It should be noted that the requests to be processed by the proxy node usually refer to requests (generated by the cloud management platform) directed to the network nodes connected to the proxy node, such as the aforementioned connection establishment requests and configuration adjustment requests, etc.
[0095] As in the example above, such as Figure 6 As shown ( Figure 6 (This is another structural diagram of the cloud service system provided in this application embodiment). The controller can notify MQ to collect the load of proxy1 to proxy3 in real time, and detect whether the load of proxy1 to proxy3 is between the upper and lower load limits. Suppose MQ finds that the load of proxy6 is greater than the upper load limit, then proxy3 is an overloaded proxy. For example, if... Figure 7 As shown ( Figure 7 (This is another schematic diagram of the cloud service system provided in this application embodiment). Because the number of requests waiting to be sent from MQ to proxy3 (these requests point to network nodes 5 and 6 connected to proxy3) exceeds the number of requests proxy3 can handle, these requests form a backlog queue at MQ. If the number of requests waiting to be sent to proxy3 exceeds a certain threshold, MQ can determine that proxy3 is an overloaded proxy. Then, MQ can create a new proxy4 in real time and migrate network node 6 connected to proxy3 to proxy4. Requests pointing to network node 6 can then be handled by proxy4, thereby reducing the load on proxy3.
[0096] More specifically, the cloud management platform can also perform the following operations:
[0097] The cloud management platform can also monitor the status of multiple proxy nodes in real time. If a proxy node (i.e., the aforementioned sixth proxy node) fails, the cloud management platform can select one of the remaining proxy nodes as a migrated proxy node (i.e., the aforementioned seventh proxy node) and migrate all network nodes connected to the failed proxy node to the migrated proxy node. This ensures the availability and reliability of the proxy nodes, thereby guaranteeing the normal management of network nodes.
[0098] It should be understood that in this embodiment, the above example is only used to illustrate the cloud management platform including MQ. In actual applications, the cloud management platform may not include MQ. Therefore, the operations performed by MQ can be performed by the controller, and there is no restriction here.
[0099] In this embodiment, when a tenant has business needs, the cloud management platform can create multiple dedicated compute nodes and multiple network nodes for the tenant based on the node deployment request provided by the tenant. These compute nodes are connected through the network nodes. Next, the cloud management platform can create multiple proxy nodes and establish connections between them and the network nodes based on the network configuration request provided by the tenant. Each proxy node is connected to at least one of the network nodes. Then, the cloud management platform can notify the proxy nodes to adjust the configuration of the network nodes, resulting in the adjusted network nodes. In this way, the adjusted network nodes enable communication between the compute nodes to complete the tenant's business and meet its needs. In the aforementioned network configuration process for multiple network nodes, the adjustment of the network node configuration is handled by the proxy nodes. The cloud management platform only needs to notify the proxy nodes to perform these adjustments; it does not need deep involvement to complete the network configuration for multiple network nodes. This reduces the burden on the cloud management platform and can, to some extent, prevent network configuration failures, ensuring that the cloud management platform can maintain the network configuration of these multiple network nodes and thus guarantee normal communication between the compute nodes.
[0100] Furthermore, in this embodiment, the cloud management platform can collect the load of multiple agent nodes to identify overloaded or lightly loaded agent nodes. For overloaded agent nodes, the cloud management platform can migrate the network nodes they are connected to to other agent nodes or create new agent nodes in real time, thereby achieving elastic scaling of agent node resources. This ensures the normal management of network nodes and thus guarantees communication between computing nodes.
[0101] The above is a detailed description of the network configuration method based on the cloud management platform provided in the embodiments of this application. The cloud management platform will be introduced below. Figure 8 A schematic diagram of the structure of the cloud management platform provided in the embodiments of this application is shown below. Figure 8 As shown, the cloud management platform is used to manage the infrastructure that provides cloud services. The infrastructure includes multiple compute nodes and multiple network nodes created by the cloud management platform for tenants. These compute nodes are connected through multiple network nodes. The cloud management platform includes:
[0102] The receiving module 801 is used to receive network configuration requests for multiple compute nodes sent by a tenant. The network configuration requests contain the network requirements of the multiple compute nodes. For example, the receiving module 801 is used to implement... Figure 3 Step 301 in the illustrated embodiment.
[0103] Processing module 802 is used to create multiple proxy nodes based on network configuration requests and connect the multiple proxy nodes to multiple network nodes, wherein each proxy node is connected to at least one of the multiple network nodes; for example, processing module 802 is used to implement Figure 3 Step 302 in the illustrated embodiment.
[0104] The processing module 802 is also used to notify multiple agent nodes to adjust the configuration of multiple network nodes. The adjusted network nodes meet network requirements and are used to enable communication between multiple computing nodes. For example, the processing module 802 is also used to implement... Figure 3 Step 303 in the illustrated embodiment.
[0105] In one possible implementation, the processing module 802 is further configured to: obtain the load of multiple proxy nodes and a preset load limit value; among the multiple proxy nodes, if there is a first proxy node with a load greater than or equal to the load limit value, migrate some network nodes connected to the first proxy node to a second proxy node, wherein the second proxy node is one of the multiple proxy nodes or a proxy node created in real time by the cloud management platform.
[0106] In one possible implementation, the processing module 802 is further configured to: obtain the load of multiple proxy nodes and a preset load lower limit; among the multiple proxy nodes, if there is a third proxy node with a load less than or equal to the load lower limit, migrate all network nodes connected to the third proxy node to the fourth proxy node and delete the third proxy node, wherein the fourth proxy node is one of the multiple proxy nodes.
[0107] In one possible implementation, the load of the fifth proxy node among the multiple proxy nodes includes the number of network nodes connected to the fifth proxy node and / or the number of requests to be processed by the fifth proxy node, wherein the fifth proxy node is any one of the multiple proxy nodes, and the requests are directed to the network nodes connected to the fifth proxy node.
[0108] In one possible implementation, the processing module 802 is used to send a request to the fifth agent node, wherein the request is used to notify the fifth agent node to establish a connection between the fifth agent node and the network node, or to notify the fifth agent node to adjust the configuration of the network node to obtain the network node with the adjusted configuration.
[0109] In one possible implementation, the processing module 802 is further configured to receive a response sent by the fifth proxy node, wherein the response is sent by the network node to the fifth proxy node, and the response is used by the cloud management platform to determine that the network node has connected to the fifth proxy node, or to determine that the configuration of the network node has been adjusted.
[0110] In one possible implementation, the processing module 802 is further configured to: receive an event sent by the fifth agent node, wherein the event is sent by the network node after configuration adjustment to the fifth agent node, and the event is used to indicate the status of the network node after configuration adjustment; based on the event, notify the fifth agent node to adjust the configuration of the network node after configuration adjustment again, so as to obtain the network node after configuration adjustment.
[0111] In one possible implementation, the processing module 802 is further configured to migrate all network nodes connected to the sixth proxy node to the seventh proxy node if the sixth proxy node among the multiple proxy nodes is in a fault state, wherein the seventh proxy node is one of the multiple proxy nodes.
[0112] In one possible implementation, multiple network nodes are switches.
[0113] In one possible implementation, multiple compute nodes are physical servers, virtual machines, containers, microvirtual machines, or bare metal servers.
[0114] It should be noted that the information interaction and implementation process between the modules / units of the above-mentioned device are based on the same concept as the method embodiments of this application, and the resulting technical effects are the same as those of the method embodiments of this application. For details, please refer to the description in the method embodiments shown above in the embodiments of this application, and will not be repeated here.
[0115] Please see Figure 9 , Figure 9 This is a schematic diagram of the structure of a computing device provided in an embodiment of this application. Figure 9 As shown, the computing device 900 (which can be used to present the aforementioned cloud management platform) includes: a processor 901, a memory 902, a communication interface 903, and a bus 904. The processor 901, memory 902, and communication interface 903 are coupled via the bus (not shown in the figure). The memory 902 stores instructions. When the instructions in the memory 902 are executed, the computing device 900 performs the method executed by the cloud management platform in the above method embodiment.
[0116] The computing device 900 may be one or more integrated circuits configured to implement the methods described above, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuits. Furthermore, when the units in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor capable of calling programs. Alternatively, these units may be integrated together and implemented as a system-on-a-chip (SOC).
[0117] Processor 901 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0118] The memory 902 can be volatile memory or non-volatile memory, or it can include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0119] The memory 902 stores executable program code, and the processor 901 executes this executable program code to implement the functions of the aforementioned receiving module and processing module, thereby realizing the network configuration method based on the cloud management platform. That is, the memory 902 stores instructions for executing the aforementioned network configuration method based on the cloud management platform.
[0120] The communication interface 903 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 900 and other devices or communication networks.
[0121] In addition to the data bus, the 904 bus can also include a power bus, a control bus, and a status signal bus. The bus can be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL) bus, a Cache Coherent Interconnect for Accelerators (CCIX) bus, etc. The bus can be categorized into address bus, data bus, and control bus.
[0122] Please see Figure 10 , Figure 10 This is a schematic diagram of a computing device cluster provided in an embodiment of this application. Figure 10 As shown, the computing device cluster 1000 includes at least one computing device 900.
[0123] like Figure 10 As shown, the computing device cluster 1000 includes at least one computing device 900. The memory 902 of one or more computing devices 900 in the computing device cluster 1000 may store the same instructions for executing the network configuration method based on the cloud management platform described above.
[0124] In some possible implementations, the memory 902 of one or more computing devices 900 in the computing device cluster 1000 may also store partial instructions for executing the network configuration method based on the cloud management platform described above. In other words, a combination of one or more computing devices 900 can jointly execute the network configuration method based on the cloud management platform described above.
[0125] It should be noted that the memory 902 in different computing devices 900 within the computing device cluster 1000 can store different instructions, each used to execute a portion of the functions of the aforementioned cloud management platform. That is, the instructions stored in the memory 902 of different computing devices 900 can implement the functions of one or more modules, such as the receiving module and the processing module.
[0126] In some possible implementations, one or more computing devices 900 in the computing device cluster 1000 can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc.
[0127] Please see Figure 11 , Figure 11 This is a schematic diagram illustrating the network connection of computer devices in a computer cluster provided in an embodiment of this application. Figure 11 As shown, the two computing devices 900A and 900B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0128] In one possible implementation, the memory in computing device 900A stores instructions for performing the functions of modules such as the receiving module. Meanwhile, the memory in computing device 900B stores instructions for performing the functions of modules such as the processing module.
[0129] It should be understood that Figure 11 The functions of computing device 900A shown can also be performed by multiple computing devices. Similarly, the functions of computing device 900B can also be performed by multiple computing devices.
[0130] This application also relates to a computer storage medium storing a program for signal processing, which, when run on a computer, causes the computer to perform actions such as... Figure 3 The steps performed by the cloud management platform in the illustrated embodiment.
[0131] This application also relates to a computer program product that stores instructions that, when executed by a computer, cause the computer to perform actions such as... Figure 3 The steps performed by the cloud management platform in the illustrated embodiment.
[0132] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0133] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0134] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0135] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0136] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A network configuration method based on a cloud management platform, characterized in that, The cloud management platform is used to manage the infrastructure providing cloud services. The infrastructure includes multiple compute nodes and multiple network nodes created by the cloud management platform for the tenant. The multiple compute nodes are connected to each other through the multiple network nodes. The method includes: The cloud management platform receives network configuration requests for the multiple computing nodes sent by the tenant, and the network configuration requests include the network requirements of the multiple computing nodes; The cloud management platform creates multiple proxy nodes based on the network configuration request and connects the multiple proxy nodes to the multiple network nodes, wherein each proxy node is connected to at least one of the multiple network nodes; The cloud management platform notifies the multiple agent nodes to adjust the configuration of the multiple network nodes. The adjusted network nodes meet the network requirements and are used to enable communication between the multiple computing nodes.
2. The method according to claim 1, characterized in that, The method further includes: The cloud management platform obtains the load of the multiple agent nodes and the preset load limit value; If, among the plurality of proxy nodes, there exists a first proxy node whose load is greater than or equal to the load limit, the cloud management platform will migrate some of the network nodes connected to the first proxy node to the second proxy node. The second proxy node is one of the plurality of proxy nodes or a proxy node created in real time by the cloud management platform.
3. The method according to claim 1 or 2, characterized in that, The method further includes: The cloud management platform obtains the load of the multiple agent nodes and the preset load lower limit value; If, among the plurality of proxy nodes, there exists a third proxy node whose load is less than or equal to the load lower limit, the cloud management platform will migrate all network nodes connected to the third proxy node to the fourth proxy node and delete the third proxy node, wherein the fourth proxy node is one of the plurality of proxy nodes.
4. The method according to claim 2 or 3, characterized in that, The load of the fifth proxy node among the plurality of proxy nodes includes the number of network nodes connected to the fifth proxy node and / or the number of requests to be processed by the fifth proxy node, wherein the fifth proxy node is any one of the plurality of proxy nodes, and the requests are directed to the network nodes connected to the fifth proxy node.
5. The method according to claim 4, characterized in that, The cloud management platform connects the multiple agent nodes to the multiple network nodes, or notifies the multiple agent nodes to adjust the configuration of the multiple network nodes, including: The cloud management platform sends the request to the fifth agent node, wherein the request is used to notify the fifth agent node to establish a connection between the fifth agent node and the network node, or to notify the fifth agent node to adjust the configuration of the network node to obtain a network node with adjusted configuration.
6. The method according to claim 5, characterized in that, The method further includes: The cloud management platform receives a response sent by the fifth proxy node, wherein the response is sent by the network node to the fifth proxy node, and the response is used by the cloud management platform to determine that the network node has connected to the fifth proxy node, or to determine that the configuration of the network node has been adjusted.
7. The method according to claim 5 or 6, characterized in that, The method further includes: The cloud management platform receives an event sent by the fifth agent node, wherein the event is sent from the adjusted network node to the fifth agent node, and the event is used to indicate the status of the adjusted network node; Based on the event, the cloud management platform notifies the fifth agent node to adjust the configuration of the network node again, resulting in a network node with the configuration adjusted again.
8. The method according to any one of claims 1 to 7, characterized in that, The method further includes: If the sixth proxy node among the plurality of proxy nodes is in a faulty state, the cloud management platform will migrate all network nodes connected to the sixth proxy node to the seventh proxy node, wherein the seventh proxy node is one of the plurality of proxy nodes.
9. The method according to any one of claims 1 to 8, characterized in that, The multiple network nodes are switches.
10. The method according to any one of claims 1 to 9, characterized in that, The multiple computing nodes are physical servers, virtual machines, containers, microvirtual machines, or bare metal servers.
11. A cloud management platform, characterized in that, The cloud management platform is used to manage the infrastructure providing cloud services. The infrastructure includes multiple compute nodes and multiple network nodes created by the cloud management platform for the tenant. The multiple compute nodes are connected to each other through the multiple network nodes. The cloud management platform includes: A receiving module is configured to receive network configuration requests for the plurality of computing nodes sent by the tenant, wherein the network configuration requests contain the network requirements of the plurality of computing nodes; The processing module is configured to create multiple proxy nodes based on the network configuration request and connect the multiple proxy nodes to the multiple network nodes, wherein each proxy node is connected to at least one of the multiple network nodes; The processing module is also used to notify the multiple agent nodes to adjust the configuration of the multiple network nodes, so that the adjusted configuration of the multiple network nodes meets the network requirements, and the adjusted configuration of the multiple network nodes is used to realize communication between the multiple computing nodes.
12. The cloud management platform according to claim 11, characterized in that, The processing module is further configured to: Obtain the load of the multiple proxy nodes and the preset load limit value; If, among the plurality of proxy nodes, there is a first proxy node whose load is greater than or equal to the load limit, some network nodes connected to the first proxy node are migrated to the second proxy node. The second proxy node is one of the plurality of proxy nodes or a proxy node created in real time by the cloud management platform.
13. The cloud management platform according to claim 11 or 12, characterized in that, The processing module is further configured to: Obtain the load of the multiple proxy nodes and the preset load lower limit value; If, among the plurality of proxy nodes, there exists a third proxy node whose load is less than or equal to the lower load limit, all network nodes connected to the third proxy node are migrated to the fourth proxy node, and the third proxy node is deleted. The fourth proxy node is one of the plurality of proxy nodes.
14. The cloud management platform according to claim 12 or 13, characterized in that, The load of the fifth proxy node among the plurality of proxy nodes includes the number of network nodes connected to the fifth proxy node and / or the number of requests to be processed by the fifth proxy node, wherein the fifth proxy node is any one of the plurality of proxy nodes, and the requests are directed to the network nodes connected to the fifth proxy node.
15. The cloud management platform according to claim 14, characterized in that, The processing module is configured to send the request to the fifth proxy node, wherein the request is configured to notify the fifth proxy node to establish a connection between the fifth proxy node and the network node, or to notify the fifth proxy node to adjust the configuration of the network node to obtain a network node with adjusted configuration.
16. The cloud management platform according to claim 15, characterized in that, The processing module is further configured to receive a response sent by the fifth proxy node, wherein the response is sent by the network node to the fifth proxy node, and the response is used by the cloud management platform to determine that the network node has been connected to the fifth proxy node, or to determine that the configuration of the network node has been adjusted.
17. The cloud management platform according to claim 15 or 16, characterized in that, The processing module is further configured to: Receive an event sent by the fifth proxy node, wherein the event is sent from the adjusted network node to the fifth proxy node, and the event is used to indicate the status of the adjusted network node; Based on the event, the fifth agent node is notified to adjust the configuration of the network node again after the initial configuration adjustment, resulting in a network node with the configuration adjusted again.
18. The cloud management platform according to any one of claims 11 to 17, characterized in that, The processing module is further configured to migrate all network nodes connected to the sixth proxy node to the seventh proxy node if the sixth proxy node among the plurality of proxy nodes is in a fault state, wherein the seventh proxy node is one of the plurality of proxy nodes.
19. The cloud management platform according to any one of claims 11 to 18, characterized in that, The multiple network nodes are switches.
20. The method according to any one of claims 11 to 19, characterized in that, The multiple computing nodes are physical servers, virtual machines, containers, microvirtual machines, or bare metal servers.
21. A cloud service system, characterized in that, The cloud service system includes a cloud management platform and infrastructure. The infrastructure includes multiple computing nodes and multiple network nodes created by the cloud management platform for the tenant. The multiple computing nodes are connected to each other through the multiple network nodes. The cloud management platform is used to receive network configuration requests for the multiple computing nodes sent by the tenant, the network configuration requests including the network requirements of the multiple computing nodes; The cloud management platform is used to create multiple proxy nodes based on the network configuration request and connect the multiple proxy nodes to the multiple network nodes, wherein each proxy node is connected to at least one of the multiple network nodes; The multiple proxy nodes are used to adjust the configuration of the multiple network nodes based on the notification from the cloud management platform, so that the adjusted configuration of the multiple network nodes meets the network requirements. The adjusted configuration of the multiple network nodes is used to enable communication between the multiple computing nodes.
22. A computing device cluster, characterized in that, The computing device cluster includes at least one computing device, each computing device including a processor and memory: The memory is used to store instructions; The processor is configured to, according to the instructions, cause the computing device cluster to perform the method of any one of claims 1 to 10.
23. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method of any one of claims 1 to 10.
24. A computer program product, characterized in that, The computer program product stores instructions that, when executed by a computer, cause the computer to perform the method described in any one of claims 1 to 10.