Cluster deployment method and computing device
By establishing a first transmission channel based on the operating system IP address or out-of-band IP address between the target node and the display device, obtaining cluster configuration information of multiple nodes and continuously transmitting data, the problem of network interruption during cluster deployment is solved and the user experience is improved.
Patent Information
- Application Number
- PCT/CN2024/098880
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-30
- Filing Date
- 2024-06-13
- Publication Date
- 2025-06-05
AI Technical Summary
During cluster deployment, networks between electronic devices and multiple nodes are prone to network disconnection problems, resulting in data transmission failure and seriously affecting the user experience.
By establishing a first transmission channel based on the operating system IP address or out-of-band IP address between the target node and the display device, cluster configuration information of multiple nodes is obtained, and data is continuously transmitted during the cluster deployment process to avoid network interruption.
It effectively avoids the problem of network interruption during cluster deployment, ensures continuous data transmission between the target node and the display device, and improves the user experience.
Smart Images

Figure CN2024098880_05062025_PF_FP_ABST
Abstract
Description
Cluster deployment method and computing device
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on November 30, 2023, with application number 202311633791.7 and application name “Cluster Deployment Method and Computing Device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of computer technology, and in particular to a cluster deployment method and computing device. Background Art
[0003] In related technologies, when users deploy clusters of multiple nodes, their electronic devices communicate with the nodes using their network addresses. However, during the cluster deployment process, the network between the electronic devices and the nodes can become disconnected. In this case, data cannot be transmitted between the nodes and the user's electronic device, severely impacting the user experience.
[0004] Summary of the Invention
[0005] Embodiments of the present application provide a cluster deployment method and computing device, which can avoid network interruption during cluster deployment.
[0006] To achieve the above objectives, the embodiments of the present application adopt the following technical solutions:
[0007] In a first aspect, a cluster deployment method is provided, which is applied to a target node, and a first transmission channel is established between the target node and a display device based on the operating system IP address or out-of-band IP address of the target node; the method includes: the target node obtains cluster configuration information of multiple nodes; the target node deploys the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes; during the cluster deployment process, the target node and the display device transmit data through the first transmission channel.
[0008] In this solution, when a cluster deployment is required, the target node obtains cluster configuration information from multiple nodes and deploys the multiple nodes into a cluster based on the cluster configuration information. During the cluster deployment process, data is transmitted between the target node and the display device via the first transmission channel. This avoids network interruptions between the target node and the user's display device during the cluster deployment process, which could result in data transmission failures. This, in turn, helps improve the user experience.
[0009] Since the first transmission channel is established based on the operating system IP address or out-of-band IP address of the target node, where the operating system IP address is the IP address used for in-band management of the target node, and the out-of-band IP address is the IP address used for out-of-band management of the target node, and the cluster deployment process is unrelated to in-band management and out-of-band management, the cluster deployment process will not affect the normal communication of the first transmission channel, that is, the first transmission channel will not be unable to transmit data during the cluster deployment process, thereby ensuring that there will be no network interruption between the target node and the user's display device during the entire cluster deployment process, and further ensuring that data can be continuously transmitted between the target node and the display device in the cluster deployment.
[0010] In one possible implementation, the target node establishes a second transmission channel with a non-target node among the multiple nodes based on the link-local address of the non-target node; the method also includes: during the cluster deployment process, the target node and the non-target node transmit data through the second transmission channel.
[0011] In this implementation, during the cluster deployment process, data is transmitted between the target node and the non-target node through the second transmission channel. This not only ensures that there is no network interruption between the target node and the non-target node during the entire cluster deployment process, resulting in the problem of being unable to transmit data, but also helps to ensure the continuity of the cluster deployment process, thereby improving the success rate of cluster deployment and further improving the user experience.
[0012] In another possible implementation, during the cluster deployment process, the target node and the display device transmit data through a first transmission channel, including: during the cluster deployment process, the target node transmits the cluster deployment progress information to the display device based on the first transmission channel; the display device is used to display the cluster deployment progress information.
[0013] In this implementation, during the cluster deployment process, the target node transmits the cluster deployment progress information to the display device through the first transmission channel, so that the display device can present the cluster deployment progress information to the user in a timely manner, so that the user can understand the cluster deployment progress in a timely manner. This not only helps to ensure that the deployment process is fully visible, thereby improving the user's usage experience, but also helps the user to perceive whether there are any abnormalities in the cluster deployment process through the deployment progress information, so that when an abnormality occurs in the deployment process, timely process processing can be carried out, thereby improving the success rate of cluster deployment.
[0014] In another possible implementation, the deployment progress information of the cluster includes the deployment progress information of the non-target node; during the cluster deployment process, the target node and the non-target node transmit data through the second transmission channel, including: during the cluster deployment process, the target node obtains the deployment progress information of the non-target node based on the second transmission channel.
[0015] In this implementation, during cluster deployment, the target node obtains the deployment progress information of the non-target nodes through the second transmission channel. In this way, the deployment progress information of the non-target nodes can be continuously and completely obtained, thereby ensuring the integrity of the cluster deployment progress information.
[0016] In another possible implementation, the cluster configuration information of the multiple nodes includes the cluster configuration information of the target node and the cluster configuration information of the non-target nodes. Deploying the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes includes: the target node initializing the cluster based on the cluster configuration information of the target node; the target node transmitting a cluster configuration request to the non-target nodes, the cluster configuration request including the cluster configuration information of the non-target nodes; and the cluster configuration request requesting cluster initialization for the non-target nodes. This helps improve the accuracy and completeness of cluster deployment.
[0017] In another possible implementation, the cluster deployment progress information includes the deployment progress information of the target node; and the method further includes: during the cluster deployment process, the target node obtains the deployment progress information of the target node. This helps ensure the integrity of the cluster deployment progress information.
[0018] In another possible implementation, the target node is configured with a client, and the client and the display device transmit data via a first transmission channel.
[0019] In this implementation, the client is installed on the target node, and data is transmitted between the client and the display device via a first transmission channel. This prevents network interruptions between the target node and the client during cluster deployment, which could result in data transmission failures. Furthermore, data can be continuously transmitted between the target node and the display via the client during cluster deployment, improving data transmission convenience.
[0020] In another possible implementation, the target node is configured with a client and a server, and the client and the server transmit data based on a loopback address of the target node.
[0021] In this implementation, the client and the server are set at the target node at the same time, and the client and the server are set to transmit data based on the loopback address of the target node. On the one hand, it avoids the problem of network interruption between the client and the server during cluster deployment, resulting in the inability to transmit data. On the other hand, it enables the client and the server to transmit data based on the loopback address of the target node, thereby ensuring that there will be no network interruption between the client and the server during the entire cluster deployment process, and further ensuring that data can be continuously transmitted between the client and the server during the cluster deployment process.
[0022] In another possible implementation, the target node is configured with a server, and the server transmits data to the non-target node via a second transmission channel.
[0023] In this implementation, data can be transmitted between the server and non-target nodes via a second transmission channel. This ensures that there will be no network interruption between the server and non-target nodes during the entire cluster deployment process when the cluster is deployed through the server, thereby ensuring that data can be continuously transmitted between the server and non-target nodes during the cluster deployment process. In another possible implementation, the target node transmits cluster deployment progress information to a display device based on a first transmission channel, including: the target node obtains the cluster deployment progress information; the target node generates a deployment interface based on the cluster deployment progress information; the deployment interface is used to indicate the cluster deployment progress information; the target node transmits the deployment interface to the display device based on the first transmission channel; and the display device is used to display the deployment interface.
[0024] This implementation provides a specific method for transmitting deployment progress information to a display device. Specifically, a target node generates a deployment interface for indicating deployment progress information and transmits the deployment interface to the display device, thereby enabling the display device to present the deployment progress information to the user by displaying the deployment interface. This not only helps improve the efficiency of presenting deployment progress information on the display interface, but also helps improve the presentation effect of the deployment progress information, thereby improving the user experience.
[0025] In another possible implementation, the target node obtains cluster configuration information of multiple nodes, including: the target node sends a first SSDP message; the target node generates a configuration interface based on the received multiple second SSDP messages; the multiple second SSDP messages indicate multiple candidate nodes, and the configuration interface is used to indicate the multiple candidate nodes; the target node transmits the configuration interface to the display device; the display device is used to display the configuration interface; the target node receives the cluster configuration information of the multiple nodes transmitted by the display device; the multiple nodes are determined by the display device from the multiple candidate nodes in response to the selection operation.
[0026] In this implementation, a method for determining multiple nodes for deploying a cluster is provided. Specifically, the target node sends a first SSDP message, and based on receiving multiple second SSDP messages, generates a configuration interface indicating multiple candidate nodes, and transmits the configuration interface to a display device, which presents the multiple candidate nodes to the user. After that, the multiple nodes of the user-deployed cluster selected by the user are determined through the cluster configuration information returned by the display device. In this way, not only is it possible to automatically discover multiple candidate nodes that can be used to deploy a cluster, thereby improving the convenience of cluster deployment, but it is also possible for the user to determine multiple nodes for deploying a cluster, thereby improving the user experience and the flexibility of cluster deployment.
[0027] In another possible implementation, the deployment interface is a hypertext markup language (HTML) interface or a graphical user interface (GUI).
[0028] In another possible implementation, the configuration interface is an HTML interface or a GUI.
[0029] It should be noted that, in the first aspect, the target node can also be used to execute any one of the methods provided in the second aspect below.
[0030] In a second aspect, a cluster deployment method is provided, which is applied to a target node, and a second transmission channel is established between the target node and a non-target node among multiple nodes based on the link-local address of the non-target node; the method includes: the target node obtains cluster configuration information; the target node deploys multiple nodes into a cluster based on the second transmission channel and the cluster configuration information; during the cluster deployment process, the target node and the non-target node transmit data through the second transmission channel.
[0031] In this solution, when a cluster needs to be deployed, the target node obtains the cluster configuration information of multiple nodes and deploys the multiple nodes into a cluster based on this information. During the cluster deployment process, data is transmitted between the target node and non-target nodes via a second transmission channel. This avoids network interruptions between the target node and non-target nodes during the cluster deployment process, which can lead to data transmission failures and improves the user experience.
[0032] Since the second transmission channel between the target node and the non-target node is established based on the link-local address of the non-target node, and cluster deployment does not involve the setting of the link-local address of the non-target node, the cluster deployment process will not affect the normal communication of the second transmission channel. That is, the second transmission channel will not be unable to transmit data during the cluster deployment process, thereby ensuring that there will be no network interruption problems during the entire cluster deployment process, and further ensuring that data can be continuously transmitted between the target node and the non-target node during the cluster deployment process.
[0033] In one possible implementation, the cluster configuration information of multiple nodes includes network configuration information of non-target nodes; during the cluster deployment process, the target node and the non-target node transmit data through a second transmission channel, including: during the cluster deployment process, the target node transmits a cluster configuration request to the non-target node based on the second transmission channel, and the cluster configuration request includes the network configuration information of the non-target node; the cluster configuration request is used to request to set the network configuration items of the non-target node based on the network configuration information of the non-target node.
[0034] In this implementation, since there will be no network interruption between the target node and the non-target node during the cluster deployment process, the target node transmits a cluster configuration request to the non-target node based on the second transmission channel to transmit the network configuration information of the non-target node to the non-target node, and requests the non-target node to modify the network configuration items based on the network configuration information. This not only helps to ensure the accurate transmission of the cluster configuration request, but also helps to retransmit the cluster deployment request in the event of a non-target node deployment failure, thereby improving the success rate of the cluster deployment.
[0035] In another possible implementation, the cluster configuration information of the multiple nodes includes the cluster configuration information of the target node and the cluster configuration information of the non-target nodes. Deploying the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes includes: the target node initializing the cluster based on the cluster configuration information of the target node; the target node transmitting a cluster configuration request to the non-target nodes, the cluster configuration request including the cluster configuration information of the non-target nodes; and the cluster configuration request requesting cluster initialization for the non-target nodes. This helps improve the accuracy and completeness of cluster deployment.
[0036] In another possible implementation, during cluster deployment, the target node and the non-target node transmit data through a second transmission channel, including: during cluster deployment, the target node obtains deployment progress information of the non-target node from the non-target node based on the second transmission channel.
[0037] In this implementation, during cluster deployment, the target node obtains the deployment progress information of the non-target nodes through the second transmission channel. In this way, the deployment progress information of the non-target nodes can be continuously and completely obtained, thereby ensuring the integrity of the cluster deployment progress information.
[0038] In another possible implementation, the cluster configuration information includes network configuration information of multiple nodes; the target node obtains the cluster configuration information of multiple nodes, including: the target node sends a first SSDP message; the target node generates a configuration interface based on the received multiple second SSDP messages; the multiple second SSDP messages indicate multiple candidate nodes, and the configuration interface is used to indicate the multiple candidate nodes; the target node transmits the configuration interface to the display device; the display device is used to display the configuration interface; the target node receives the cluster configuration information of the multiple nodes transmitted by the display device; the multiple nodes are determined by the display device from the multiple candidate nodes in response to the user's selection operation.
[0039] In this implementation, a method for determining multiple nodes for deploying a cluster is provided. Specifically, the target node sends a first SSDP message, and based on receiving multiple second SSDP messages, generates a configuration interface indicating multiple candidate nodes, and transmits the configuration interface to a display device, which presents the multiple candidate nodes to the user. After that, the multiple nodes of the user-deployed cluster selected by the user are determined through the cluster configuration information returned by the display device. In this way, not only is it possible to automatically discover multiple candidate nodes that can be used to deploy a cluster, thereby improving the convenience of cluster deployment, but it is also possible for the user to determine multiple nodes for deploying a cluster, thereby improving the user experience and the flexibility of cluster deployment.
[0040] In another possible implementation, the multiple second SSDP messages further indicate the link-local address of the non-target node.
[0041] This implementation provides a method for determining a link-local address. Specifically, when the target node automatically discovers multiple candidate nodes that can be used to deploy the cluster based on the second SSDP message, it can also obtain the link-local address of the non-target node based on the second SSDP message, thereby enabling the establishment of a second transmission channel with the non-target node based on the link-local address.
[0042] It should be noted that, in the second aspect, the target node can also be used to execute any one of the methods provided in the first aspect above.
[0043] In a third aspect, a cluster deployment apparatus is provided, comprising: functional units configured to execute any one of the methods provided in the first aspect, wherein the actions executed by each functional unit are implemented via hardware or via hardware executing corresponding software implementations. For example, the cluster deployment apparatus may include: an acquisition unit, configured to acquire cluster configuration information of multiple nodes; a deployment unit, configured to deploy the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes; and a first transmission unit, configured to transmit data to a display device via a first transmission channel during cluster deployment.
[0044] In a fourth aspect, a cluster deployment apparatus is provided, comprising: functional units configured to execute any one of the methods provided in the second aspect, wherein the actions executed by each functional unit are implemented via hardware or via hardware executing corresponding software implementations. For example, the cluster deployment apparatus may include: an acquisition unit configured to acquire cluster configuration information of multiple nodes; a deployment unit configured to deploy the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes; and a second transmission unit configured to transmit data to non-target nodes via a second transmission channel during cluster deployment.
[0045] In a fifth aspect, a chip is provided, which includes: a processor and an interface circuit; the interface circuit is used to receive code instructions and transmit them to the processor; the processor is used to run the code instructions to execute any one of the methods provided in the first aspect above, or to implement any one of the methods provided in the second aspect above.
[0046] In a sixth aspect, a computing device is provided, comprising: a processor and a memory, wherein the processor is connected to the memory. The memory is configured to store computer-executable instructions, and the processor executes the computer-executable instructions stored in the memory, thereby implementing any one of the methods provided in the first aspect or any one of the methods provided in the second aspect.
[0047] In the seventh aspect, a cluster system is provided, comprising: multiple computing devices, wherein a target computing device among the multiple computing devices comprises a processor and a memory; the processor of the target computing device is used to execute instructions stored in the memory of the target computing device, so that the cluster system executes any one of the methods provided in the first aspect above, or executes any one of the methods provided in the second aspect above.
[0048] In an eighth aspect, a computer-readable storage medium is provided, which stores computer execution instructions. When the computer execution instructions are run on a computing device, the computing device executes any one of the methods provided in the first aspect above, or executes any one of the methods provided in the second aspect above.
[0049] In the ninth aspect, a computer program product is provided, comprising: computer execution instructions, which, when executed on a computing device, cause the computing device to execute any one of the methods provided in the first aspect above, or to execute any one of the methods provided in the second aspect above.
[0050] Among them, the technical effects brought about by any implementation method in the third to ninth aspects can refer to the technical effects brought about by different implementation methods in the first or second aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] FIG1 is a schematic diagram of a system architecture provided in an embodiment of the present application;
[0052] FIG2 is a flow chart of a cluster deployment method provided in an embodiment of the present application;
[0053] FIG3 is a schematic diagram of a configuration interface provided in an embodiment of the present application;
[0054] FIG4 is a schematic diagram of another configuration interface provided in an embodiment of the present application;
[0055] FIG5 is a schematic diagram of another configuration interface provided in an embodiment of the present application;
[0056] FIG6 is a flow chart of another cluster deployment method provided in an embodiment of the present application;
[0057] FIG7 is a schematic diagram of a cluster deployment device provided in an embodiment of the present application;
[0058] FIG8 is a schematic diagram of another cluster deployment device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0059] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0060] In the description of this application, unless otherwise specified, " / " indicates that the objects associated before and after are in an "or" relationship, for example, A / B can represent A or B; "and / or" in this application is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural.
[0061] Furthermore, in the description of this application, unless otherwise specified, "plurality" means two or more than two. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or plural.
[0062] In addition, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit differences. At the same time, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.
[0063] The following is a brief introduction to the relevant terms involved in the embodiments of this application.
[0064] Simple Service Discovery Protocol (SSDP) is an application layer protocol and one of the core protocols of Universal Plug and Play (UPnP) technology. It provides a mechanism for discovering devices within a local network. Control points (i.e., clients receiving services) can use SSDP to query their local network for devices providing specific services. Devices (i.e., servers providing services) can also use SSDP to announce their presence to control points within their local network.
[0065] Graphical user interface (GUI): also known as graphical user interface, refers to a computer operation user interface displayed in graphical form.
[0066] Containers are a virtualization technology used in computer operating systems to encapsulate and isolate the runtime environments of different applications. In other words, containers package an application and its entire runtime environment (including all the files required to run the application) together, making it easy to migrate applications between different environments (such as development, testing, and production) while preserving their full functionality.
[0067] Kubernetes, also known as K8s, is a container management system that automates the deployment, scaling, and management of containers. K8s can be deployed in a cluster across multiple nodes. This clustered deployment of multiple K8s nodes is called a K8s cluster system, or simply a K8s cluster.
[0068] In related technologies, a K8s cluster consists of a control node (master) and worker nodes (nodes). The control node runs components such as etcd, kube-apiserver, kube-controller-manager, and kube-Scheduler. These components form the master control center of the K8s cluster, responsible for managing and scheduling all resources in the cluster. Worker nodes run components such as kubectl, kube-proxy, and containerd, responsible for managing the lifecycle of containers (Pods) on the worker nodes and implementing service proxy functionality.
[0069] The following is an illustrative introduction to the application scenarios of the embodiments of the present application.
[0070] The cluster deployment method provided in the embodiment of the present application is applicable to the scenario of deploying a cluster for multiple nodes. Among them, the cluster deployed for multiple nodes can be a K8s cluster, a Swarm cluster, etc.
[0071] It should be noted that the embodiment of the present application does not limit the type of cluster, and the above is only an exemplary description.
[0072] In related technologies, when users deploy clusters of multiple nodes, their electronic devices communicate with the nodes using their network addresses. However, during cluster deployment, network disconnection between the electronic devices and the nodes can occur. In this case, data cannot be transmitted between the nodes and the user's electronic device, severely impacting the user experience.
[0073] In view of this, an embodiment of the present application provides a cluster deployment method, which is applied to a target node. When a cluster needs to be deployed, the target node obtains cluster configuration information of multiple nodes and deploys the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes. During the cluster deployment process, data is transmitted between the target node and the display device via a first transmission channel, thereby avoiding the problem of network interruption between the target node and the user's display device during the cluster deployment process, resulting in the inability to transmit data, thereby helping to improve the user experience.
[0074] Since the first transmission channel is established based on the operating system IP address or out-of-band IP address of the target node, where the operating system IP address is the IP address used for in-band management of the target node, and the out-of-band IP address is the IP address used for out-of-band management of the target node, and the cluster deployment process is unrelated to in-band management and out-of-band management, the cluster deployment process will not affect the normal communication of the first transmission channel, that is, the first transmission channel will not be unable to transmit data during the cluster deployment process, thereby ensuring that there will be no network interruption between the target node and the user's display device during the entire cluster deployment process, and further ensuring that data can be continuously transmitted between the target node and the display device in the cluster deployment.
[0075] Furthermore, since the display device and the target node do not need to use a networking address for communication when deploying the cluster, the target node does not need to configure a networking address during the production phase. This helps simplify the production process of the target node and, in turn, helps improve the efficiency of the target node's shipment. Furthermore, when deploying the cluster, the display device does not need to be configured with a separate networking address for communication with the target node. Therefore, the cluster deployment method provided in the embodiments of the present application also helps simplify the cluster deployment process, thereby helping to improve the efficiency of cluster deployment and the user experience.
[0076] The following is an exemplary introduction to the system architecture of the embodiment of the present application.
[0077] The system architecture of the embodiments of the present application may include multiple computing devices, wherein any two computing devices among the multiple computing devices are communicatively connected. The system architecture may also include a target computing device, which is communicatively connected to non-target computing devices among the multiple computing devices. The target computing device can deploy the multiple computing devices into a cluster by executing the cluster deployment method provided in the embodiments of the present application.
[0078] The target computing device may be any one of the plurality of computing devices, or may be another computing device other than the plurality of computing devices, and this embodiment of the present application does not limit this. Below, the embodiment of the present application is exemplified by taking the target computing device as any one of the plurality of computing devices as an example.
[0079] Exemplarily, the computing device in the system architecture may be a network device or a terminal device.
[0080] Network devices may include servers, etc. A server may be a single physical server, or two or more physical servers sharing different responsibilities and working together to implement various server functions. For example, the server may be a blade server, a high-density server, a rack server, or a tower server.
[0081] The terminal device may include a host computer, an ultra-mobile personal computer (UMPC), a notebook computer, a netbook, a desktop computer or an all-in-one computer, etc.
[0082] It should be noted that the embodiments of the present application do not limit the specific form of the computing device, and the above is only an exemplary description.
[0083] It should be noted that computing devices in the system architecture (e.g., multiple computing devices, target computing devices, etc.) can also be referred to as nodes. For example, a target computing device can be referred to as a target node, and multiple computing devices can be referred to as multiple nodes.
[0084] The system architecture of the embodiment of the present application may further include a display device, which can communicate with the target node and is used to display the interface output by the target node (such as a deployment interface, a configuration interface, etc.).
[0085] Exemplarily, the display device may be a mobile phone, an augmented reality (AR) device, a virtual reality (VR) device, a personal digital assistant (PDA), an ultra-mobile personal computer (UMPC), a tablet computer, a laptop computer, a netbook, a desktop computer, an all-in-one computer, and a keyboard, video, and mouse (KVM) device, etc.
[0086] It should be noted that the embodiments of the present application do not limit the specific form of the display device, and the above is only an exemplary description.
[0087] In the embodiment of the present application, a first transmission channel may be established between the display device and the target node, and data may be transmitted between the display device and the target node based on the first transmission channel.
[0088] There are multiple implementation methods for how to establish the first transmission channel between the display device and the target node. The following is an exemplary description using Methods 1 to 3.
[0089] Mode 1: The display device establishes a first transmission channel with the target node based on the target IP address of the target node.
[0090] In one example, the target IP address may be an operating system IP address. For example, if an operating system (such as EXSi) is installed on the target node, the display device may establish a first transmission channel with the target node via the operating system IP address.
[0091] It should be noted that the display device establishes a first transmission channel with the target node based on the operating system IP address, which can be considered as the display device accessing the EXSi operating system of the target node through the operating system IP address. Among them, accessing the EXSi operating system can also be considered as accessing the central processing unit (also known as the in-band processor) running the EXSi operating system.
[0092] Exemplarily, an EXSi client may be installed on the display device, and the user inputs the EXSi operating system IP address on the EXSi client, so that the display device can establish a first transmission channel with the target node through the EXSi operating system IP address.
[0093] It should be noted that users can perform in-band management of the target node through the target node's operating system. In-band management means that management data and user service data are transmitted using the same physical channel (also called a transmission channel). Based on this, the operating system IP address can also be an in-band IP address.
[0094] In another example, the target IP address may be an out-of-band IP address. For example, if the target node includes an out-of-band controller (e.g., a baseboard management controller (BMC)), the out-of-band IP address may be the IP address of the out-of-band controller, and the display device may establish the first transmission channel with the target node via the out-of-band IP address.
[0095] It should be noted that the display device establishes a first transmission channel with the target node based on the out-of-band IP address (eg, BMC IP address), which can be considered as the display device accessing the out-of-band controller (eg, BMC) of the target node through the out-of-band IP address.
[0096] Exemplarily, a BMC client may be installed on the display device, and a user inputs a BMC IP address on the BMC client, so that the display device can establish a first transmission channel with the target node through the BMC IP address.
[0097] It is understandable that the user can perform out-of-band management on the target node through the out-of-band controller of the target node. Wherein, out-of-band management means that management data and user service data are transmitted using different physical channels.
[0098] It should be noted that different computing devices (i.e., nodes) have different names for BMC. For example, some computing devices call it BMC, some computing devices call it iLO, and others call it iDRAC. Regardless of whether it is called BMC, iLO, or iDRAC, it can be understood as the BMC in the embodiments of the present invention.
[0099] Mode 2: The display device establishes a first transmission channel with the target node based on the connection line.
[0100] For example, the display device may be a keyboard, video, or mouse (KVM) device, and the connection cable may be a digital visual interface (DVI) cable, a video graphics array (VGA) cable, a high-definition multimedia interface (HDMI) cable, or the like.
[0101] Mode 3: The display device establishes a first transmission channel with the target node based on the link-local address (LLA) of the target node.
[0102] Exemplarily, the link-local address of the target node may be an IPv6 link-local address.
[0103] Exemplarily, a client (eg, a browser client) may be installed on the display device, and the user inputs the link-local address of the target node on the browser client, so that the display device can establish a first transmission channel with the target node through the link-local address.
[0104] It should be noted that the embodiment of the present application does not limit the method for achieving communication between the display device and the target node, and the above is only an exemplary description. Below, the embodiment of the present application is exemplified by taking method 1 as an example.
[0105] As shown in FIG1 , it is a structural diagram of a system architecture provided in an embodiment of the present application.
[0106] 1 , the system architecture may include a first node, a second node, a third node, and a display device, wherein the first node, the second node, and the third node are communicatively connected to each other.
[0107] It should be noted that the embodiment of the present application does not limit the number of nodes in the system architecture. The system architecture shown in Figure 1 includes three nodes for exemplary purposes only.
[0108] The following describes the system architecture provided by the embodiment of the present application, taking the first node as the target node as an example, wherein a first transmission channel is established between the first node and the display device.
[0109] In an embodiment of the present application, a server can be installed on the first node, and the first node, by running the server, deploys the first node, the second node, and the third node into a cluster. During the cluster deployment process, the first node can transmit data to the display device via a first transmission channel, such as transmitting cluster deployment progress information, so that the display device can present the cluster deployment progress information to a user.
[0110] In an embodiment of the present application, an agent component may also be installed on the first node. During cluster deployment on the first node, the first node may record cluster deployment progress information by running the agent component. For example, the cluster deployment progress information may be recorded in a deployment file.
[0111] In an embodiment of the present application, a client (e.g., a browser client, a GUI client, etc.) may be installed on the first node, and data may be transmitted between the client and the display device via a first transmission channel. In other words, while the first node is running the client, data may be transmitted between the client and the display device via the first transmission channel. Furthermore, the client may also be used to obtain cluster deployment progress information. In other words, while the first node is running the client, cluster deployment progress information may be obtained.
[0112] Exemplarily, the deployment progress information of the cluster may be obtained by reading the deployment progress information in the deployment file.
[0113] In the embodiment of the present application, an SSDP client is also installed on the first node, and an SSDP server is installed on the second and third nodes. In this way, the first node can automatically discover the second and third nodes through the SSDP client and SSDP server, and obtain node information of the second and third nodes, such as link-local addresses and media access control (MAC) addresses.
[0114] It can be understood that the cluster deployment method provided in the embodiment of the present application can also be executed by other nodes in the system architecture other than the first node, such as the second node, the third node, etc. When the cluster deployment method provided in the embodiment of the present application is executed by other nodes, the relevant descriptions of other nodes can refer to the description of the above-mentioned first node and will not be repeated here.
[0115] It should be noted that in the following embodiments, the SSDP client, server, and client perform a certain operation, which can be considered as the target node performing a certain operation during the process of the target node running the SSDP client, server, and client, and will not be further described.
[0116] It should be noted that the system architecture shown in Figure 1 is only an exemplary structure of the system architecture provided in the embodiment of the present application, and it should not be used as a limitation on the system architecture applicable to the cluster deployment method provided in the embodiment of the present application.
[0117] It should be noted that the system architecture and application scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of the system architecture and the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0118] For ease of understanding, the cluster deployment method provided in the embodiment of the present application is exemplarily introduced below in combination with the above system architecture and accompanying drawings.
[0119] Fig. 2 is a flow chart showing a cluster deployment method according to an exemplary embodiment. Exemplarily, the cluster deployment method may include the following S201-S203.
[0120] In an embodiment of the present application, the cluster deployment method can be executed by a target node, and a first transmission channel is established between the target node and a display device. During the process of deploying multiple nodes into a cluster, the target node can transmit data to the display device via the first transmission channel. For example, the target node can transmit data to the display device via the first transmission channel, and the target node can receive data transmitted by the display device via the first transmission channel.
[0121] It should be noted that the description of the first transmission channel can be found in the aforementioned methods 1 to 3, which will not be repeated here.
[0122] Hereinafter, an embodiment of the present application is introduced by taking a case where multiple nodes include a first node, a second node, and a third node as an example.
[0123] S201: The target node obtains cluster configuration information of multiple nodes.
[0124] It should be noted that the target node can be any one of the multiple nodes, or can be any node other than the multiple nodes, and the embodiment of the present application does not impose any limitation on this.
[0125] Hereinafter, the embodiment of the present application will be described illustratively by taking the target node as any one of the multiple nodes (e.g., the first node). Among them, the other nodes in the multiple nodes except the target node can be referred to as non-target nodes, which will not be described in detail later.
[0126] In an embodiment of the present application, the cluster configuration information of multiple nodes may include one or more of the following: network configuration information of the cluster, network configuration information of multiple nodes, host names of multiple nodes, secure shell (SSH) communication information of multiple nodes, and role model (RoleMode) of the cluster, etc.
[0127] For example, the cluster's network configuration information may include one or more of the following: the cluster's floating IP address, network interface name, etc. The floating IP address is the IP address used by the cluster to provide external services. In other words, computing devices outside the cluster can access the cluster through the floating IP address. The network interface name is the name of the network interface of each node. In other words, when multiple nodes are deployed as a cluster, the network interface names used by different nodes are the same.
[0128] It should be noted that the network port name can also be called the network port identifier, and the embodiment of this application does not distinguish between the network port name and the network port identifier. In addition, the host name can also be called the host identifier, and this application does not distinguish between the host name and the host identifier.
[0129] Exemplarily, the network configuration information of the multiple nodes may include one or more of the following: an IP address, a gateway address, and a mask address of each of the multiple nodes.
[0130] It should be noted that the IP address of each node can also be called a networking IP address. The IP address of each node can be a large network IP address or a small network IP address, and this embodiment of the application does not limit this.
[0131] It should be noted that the IP addresses of different nodes in the multiple nodes are different. For example, the IP addresses of the first node, the second node, and the third node are all different. In addition, the gateway addresses and mask addresses of different nodes in the multiple nodes can be the same, or they can be different, and this embodiment of the application does not limit this.
[0132] Exemplarily, the SSH communication information of the multiple nodes may include one or more of the following: an SSH username and SSH password of each of the multiple nodes, etc. The target node may communicate with the non-target node based on the SSH communication information of the non-target node in the multiple nodes.
[0133] It should be noted that the SSH communication information of the multiple nodes may not include the SSH communication information of the target node used to deploy the cluster.
[0134] The following is an exemplary description of a method for obtaining cluster configuration information.
[0135] In a first implementation manner, the target node may obtain cluster configuration information of multiple nodes based on the first transmission channel.
[0136] The first implementation method is exemplified below through S1-S2.
[0137] S1: The target node transmits the configuration interface to the display device based on the first transmission channel.
[0138] The configuration interface is used to obtain cluster configuration information of multiple nodes.
[0139] In the embodiment of the present application, the target node generates a configuration interface and transmits the configuration interface to the display device based on the first transmission channel. After receiving the configuration interface, the display device displays the configuration interface and presents the cluster configuration items indicated in the configuration interface to the user.
[0140] Exemplarily, during the process of running the client on the target node, a configuration interface is generated and output / displayed. In other words, the client can be used to generate the configuration interface and output / display the configuration interface. When the display device accesses the operating system of the target node via the first transmission channel, the configuration interface is transmitted to the display device via the first transmission channel.
[0141] In one example, the client may be a browser client and the configuration interface may be an HTML interface. In this example, setting the configuration interface to an HTML interface helps improve the scalability, versatility, and flexibility of the configuration interface, as well as the convenience of iterating and changing the configuration of the configuration interface, thereby helping to improve the user experience.
[0142] In another example, the client can be a GUI client and the configuration interface can be a GUI. In this example, by setting the configuration interface to be a GUI, it is helpful to reduce the difficulty of developing the configuration interface, and then help reduce the requirements for technicians who develop the configuration interface.
[0143] In an embodiment of the present application, after the display device displays the configuration interface, the user can enter cluster configuration information of multiple nodes on the configuration interface. The display device responds to the user's input operation and obtains the cluster configuration information entered by the user on the configuration interface.
[0144] Exemplarily, as shown in FIG3 , the configuration interface is used to instruct acquisition of the network configuration information of the cluster, the network configuration information of multiple nodes, the SSH communication information of multiple nodes, the host names of multiple nodes, the role model of the cluster, and the like.
[0145] Exemplarily, the configuration interface also indicates cluster configuration items. Cluster configuration information can be considered to be the configuration content corresponding to the cluster configuration items. Based on this, the user can input the configuration content corresponding to the cluster configuration items on the display device, and the display device obtains the cluster configuration information in response to the user's input operation.
[0146] For example, as shown in FIG3 , cluster configuration items may include “floating IP”, “network port name”, “role model”, “IP address”, “gateway”, “mask”, “host name”, “SSH user name”, “SSH password”, etc.
[0147] Next, you can enter the cluster's floating IP address in the first control corresponding to "Floating IP." You can select the cluster's role model in the second control corresponding to "Role Model." You can select the network port identifiers for multiple nodes in the third control corresponding to "Network Port Name."
[0148] The user can enter the IP address of node 1 (i.e., the first node) in the fourth control corresponding to "IP Address" of node 1. The user can enter the gateway address of the first node in the fifth control corresponding to "Gateway" of node 1. The user can enter the mask address of the first node in the sixth control corresponding to "Mask" of node 1.
[0149] The user can enter the host name of the first node in the seventh control corresponding to "Host Name" of node 1. The user can enter the SSH username of the first node in the eighth control corresponding to "SSH User Name" of node 1. The user can enter the SSH password of the first node in the ninth control corresponding to "SSH Password" of node 1.
[0150] It should be noted that for the relevant descriptions of node 2 and node 3 shown in FIG3 , reference can be made to the relevant descriptions of node 1 described above, and no further details will be given here.
[0151] In an embodiment of the present application, the configuration interface can also be used to indicate the container subnet (PodSubnet) address, the service subnet (ServiceSubnet) address, etc. For example, as shown in FIG3 , the container subnet address can be "10.255.0.0 / 17" and the service subnet address can be "10.255.128.0 / 17".
[0152] In this embodiment, the container subnet address, service subnet address, etc. are indicated by setting the configuration interface. In this way, when the user fills in the node's network configuration information (such as "IP address"), it helps to avoid the user setting the node's IP address to be the same as the container subnet address and service subnet address, thereby helping to ensure the accuracy and reliability of the cluster network configuration.
[0153] In an embodiment of the present application, the configuration interface can also be used to indicate the version of the node's IP address, such as IPv4.
[0154] This helps improve the accuracy of the IP address entered by the user and prevents the user from entering other versions of the IP address, thereby helping to improve the accuracy and success rate of cluster deployment.
[0155] S2: The target node receives cluster configuration information of multiple nodes transmitted by the display device based on the first transmission channel.
[0156] The cluster configuration information of the multiple nodes is obtained by the display device based on the configuration interface.
[0157] In an embodiment of the present application, after the display device obtains cluster configuration information of multiple nodes based on the configuration interface, it transmits the configuration information of multiple nodes to the target node via the first transmission channel. The target node receives the cluster configuration information of multiple nodes transmitted by the display device based on the first transmission channel.
[0158] Exemplarily, data can be transmitted between the client and the display device through the first transmission channel. After the client transmits the configuration interface to the display device through the first transmission channel, after the user enters the cluster configuration information of multiple nodes on the configuration interface displayed by the display device, the display device will transmit the acquired cluster configuration information of the multiple nodes to the client through the first transmission channel, and the client will receive the cluster configuration information of the multiple nodes transmitted by the display device through the first transmission channel.
[0159] In the above implementation, the target node obtains the cluster configuration information of multiple nodes from the display device through the first transmission channel, so that the transmission channel for obtaining the cluster configuration information of multiple nodes is the same as the transmission channel for subsequently transmitting the cluster deployment progress information to the display device. In this way, the user does not have to separately configure the networking address for the target node and the display device for transmitting the cluster configuration information of multiple nodes, which helps to simplify the cluster deployment process and improve the user experience.
[0160] In the second implementation, the target node can obtain cluster configuration information of multiple nodes based on the networking channel.
[0161] In an embodiment of the present application, a target node and a display device establish a networking channel, wherein the networking channel is established based on the networking addresses of the target node and the display device. The display device can generate a configuration interface and display the configuration interface to present the configuration interface to the user. The user enters multiple node cluster configuration information on the configuration interface. The display device responds to the user's input operation, obtains the cluster configuration information of the multiple nodes entered by the user on the configuration interface, and transmits the cluster configuration information of the multiple nodes to the target node based on the networking channel.
[0162] In the above embodiment, the target node obtains the cluster configuration information of multiple nodes from the display device through the networking channel. This helps to increase the diversity of the transmission channels for obtaining the cluster configuration information, thereby helping to improve the user experience.
[0163] It should be noted that the embodiment of the present application does not limit the method for obtaining cluster configuration information, and the above is only an exemplary description. Below, the embodiment of the present application is exemplified by taking the above first implementation method as an example.
[0164] The following is an exemplary introduction to a method of determining multiple nodes for deploying a cluster.
[0165] In the first implementation, the user may determine the multiple nodes used to deploy the cluster.
[0166] The first implementation method is exemplified below through S3-S7.
[0167] S3: The target node sends a first SSDP message.
[0168] For example, the target node is installed with an SSDP client, and the plurality of multicast nodes are installed with SSDP servers. A multicast node is a type of node that can receive messages with a multicast address as the destination address.
[0169] On this basis, the target node sends a first SSDP message while running the SSDP client, for example, the target node sends the SSDP multicast message with the multicast address of the multicast network as the destination address. After receiving the first SSDP message, multiple multicast nodes return a second SSDP message (also called an SSDP unicast message) in response to the first SSDP message if the filtering conditions indicated by the first SSDP message are met.
[0170] The first SSDP message indicates the conditions of the nodes of the user-deployed cluster that the target node wants to discover. In other words, the nodes that meet the screening conditions can be used to deploy the cluster.
[0171] It should be noted that, from a software perspective, it can be considered that: the SSDP client sends an SSDP multicast message, and the SSDP server responds to the received SSDP multicast message by returning an SSDP unicast message.
[0172] It should be noted that in the embodiment of the present application, there is no restriction on the source address when the target node sends the SSDP multicast message.
[0173] It should be noted that after the target node is started, it can send SSDP multicast messages according to a preset time interval. The specific length of the preset time interval in the embodiment of the present application is not limited.
[0174] S4: The target node receives multiple second SSDP messages; the multiple second SSDP messages indicate multiple nodes to be selected.
[0175] It should be noted that the multiple candidate nodes may be all nodes in the multiple multicast nodes, or may be some nodes in the multiple multicast nodes, and the embodiment of the present application does not impose any limitation on this.
[0176] In Example 1, the multiple nodes to be selected indicated by the multiple second SSDP messages may include nodes that send the multiple second SSDP messages. For example, if the target node receives the second SSDP message sent by the second node and the second SSDP message sent by the third node, the multiple nodes to be selected may include the second node and the third node.
[0177] In Example 2, the multiple nodes to be selected indicated by the multiple second SSDP messages may include nodes that send the multiple second SSDP messages and nodes that receive the second SSDP messages. For example, if the target node receives the second SSDP message sent by the second node and the second SSDP message sent by the third node, the multiple nodes to be selected may include the target node, the second node, and the third node.
[0178] It should be noted that, below, Example 2 is taken as an example to illustrate the embodiments of the present application.
[0179] In an embodiment of the present application, the second SSDP message may include node information. The node information may include the node's media access control (MAC) address and / or link-local address. After receiving multiple second SSDP messages, the target node may store node information of multiple candidate nodes.
[0180] Illustratively, the multiple second SSDP messages include a second SSDP message sent by the second node, and the second SSDP message sent by the second node may include a MAC address of the second node and / or a link-local address of the second node. The relevant description of the MAC address and the link-local address will be described in subsequent embodiments and will not be repeated here.
[0181] It should be noted that the embodiments of the present application do not limit how the non-target node determines the link-local address. For example, the non-target node can determine the link-local address based on any method in the relevant technology.
[0182] S5: The target node generates a configuration interface based on the multiple second SSDP messages.
[0183] The configuration interface is used to indicate multiple nodes to be selected.
[0184] Hereinafter, the embodiment of the present application will be described exemplarily by taking the case where the plurality of second SSDP messages are M second SSDP messages as an example, where M is a positive integer greater than 1.
[0185] In an embodiment of the present application, the target node generates a configuration interface based on the M second SSDP messages received, and the configuration interface is used to indicate the M+1 candidate nodes. For example, the configuration interface can be used to indicate the network configuration items (such as "IP address", "gateway", "mask", etc.) of the M+1 candidate nodes, and the user can enter the network configuration information corresponding to the network configuration items of the M+1 candidate nodes on the configuration interface.
[0186] Exemplarily, the target node receives a second SSDP message sent by the second node (hereinafter referred to as the second SSDP message a) and a second SSDP message sent by the third node (hereinafter referred to as the second SSDP message b). On this basis, as shown in Figure 3, the target node generates a configuration interface based on the second SSDP message a and the third second SSDP message b. The configuration interface is used to indicate three candidate nodes, and the three candidate nodes are node 1 (i.e., the target node), node 2 (i.e., the second node), and node 3 (i.e., the third node).
[0187] Exemplarily, after receiving the plurality of second SSDP messages, the SSDP client stores information about the plurality of candidate nodes (e.g., the number of the plurality of candidate nodes, MAC addresses, link-local addresses, etc.). After obtaining the number of the plurality of candidate nodes, the client generates a configuration interface, which is used to indicate the plurality of candidate nodes. For example, if the number of the plurality of candidate nodes is three, the configuration interface is used to indicate the three candidate nodes.
[0188] It should be noted that, from a software perspective, it can be considered that after receiving multiple second SSDP messages, the SSDP client stores information of multiple candidate nodes.
[0189] S6: The target node transmits the configuration interface to the display device.
[0190] In the embodiment of the present application, after the target node generates the configuration interface, it transmits the configuration interface to the display device. After receiving the configuration interface, the display device displays the configuration interface to present the multiple nodes to be selected indicated by the configuration interface to the user.
[0191] It should be noted that, from a software perspective, it can be considered that: the client generates a configuration interface and transmits the configuration interface to the display device through the first transmission channel.
[0192] On this basis, the user can select multiple nodes for cluster deployment from multiple candidate nodes. After determining the multiple nodes for cluster deployment, the user can enter cluster configuration information for the multiple nodes on the configuration interface, such as entering network configuration information for the multiple nodes (such as IP addresses, gateway addresses, mask addresses, etc.). The display device determines the multiple nodes for cluster deployment based on the user's selection operation of the multiple nodes. In addition, the display device can also obtain the cluster configuration information of the multiple nodes in response to the user's input operation of the cluster configuration information of the multiple nodes.
[0193] In an embodiment of the present application, a user can determine at least some of the multiple candidate nodes as multiple nodes for deploying a cluster, that is, all of the multiple candidate nodes can be determined as multiple nodes for deploying a cluster, or some of the multiple candidate nodes can be determined as multiple nodes for deploying a cluster.
[0194] In an example, as shown in Figure 3, the configuration interface indicates three candidate nodes: Node 1, Node 2, and Node 3. The user can select these three candidate nodes for cluster deployment. Based on this, as shown in Figure 4, the user enters cluster configuration information for the three candidate nodes on the configuration interface. For example, the user enters the network configuration information for Node 1, Node 2, and Node 3; the SSH communication information for Node 1, Node 2, and Node 3; the network port names for Node 1, Node 2, and Node 3; the cluster's network configuration information; and the cluster's role model.
[0195] In another example, the user can select two candidate nodes for cluster deployment. Based on this, as shown in Figure 5, the user enters cluster configuration information for the two candidate nodes on the configuration interface. For example, the user enters the network configuration information for Node 1 and Node 2, the SSH communication information for Node 1 and Node 2, the network port names for Node 1 and Node 2, the cluster's network configuration information, and the cluster's role model.
[0196] In the embodiment of the present application, a user selects multiple nodes for cluster deployment, which may include various situations. The following is an exemplary description through situation 1 and situation 2.
[0197] In case 1, the user selects a target number of nodes from multiple candidate nodes for cluster deployment.
[0198] Exemplarily, the plurality of candidate nodes are M candidate nodes, and the user selects N nodes from the M candidate nodes for cluster deployment, where N nodes can be any N candidate nodes from the M candidate nodes, where N is less than or equal to M.
[0199] On this basis, the display device responds to the user's selection operation, such as: the selection operation can be that the user enters the network configuration information and / or SSH communication information of N candidate nodes on the configuration interface, determines N nodes from the M candidate nodes for deploying the cluster, and obtains the cluster configuration information of the N nodes in response to the user's input operation.
[0200] Case 2: The user selects a target candidate node from multiple candidate nodes for cluster deployment.
[0201] In an embodiment of the present application, the configuration interface can also be used to indicate the MAC address of each candidate node among multiple candidate nodes.
[0202] For example, the user can select the candidate node corresponding to the target MAC address from multiple candidate nodes as the target candidate node based on the MAC address of each candidate node, that is, select the candidate node corresponding to the target MAC address for deploying the cluster, and the target candidate node is the multiple nodes used to deploy the cluster.
[0203] On this basis, the display device can respond to the user's selection operation, such as: the selection operation can be that the user enters the network configuration information and / or SSH communication information of the target candidate node on the configuration interface, determines the target candidate node from multiple candidate nodes for deploying the cluster, and obtains the cluster configuration information of the target candidate node in response to the user's input operation.
[0204] It should be noted that the embodiment of the present application does not limit the number of target candidate nodes, as long as the number of target candidate nodes can be deployed in a cluster.
[0205] S7: The target node receives the cluster configuration information of the multiple nodes transmitted by the display device.
[0206] The multiple nodes are determined by the display device from multiple nodes to be selected in response to a selection operation by the user.
[0207] In an embodiment of the present application, after the display device obtains the cluster configuration information of multiple nodes, it transmits the cluster configuration information of multiple nodes to the target node. For example, after the user enters the cluster configuration information of multiple nodes on the configuration interface, he clicks the "OK" control on the configuration interface. The display device responds to the user's trigger operation and transmits the cluster configuration information of multiple nodes to the target node. The target node receives the cluster configuration information of multiple nodes transmitted by the display device.
[0208] Exemplarily, the target node generates a configuration interface by running a client. Based on this, the target node receives cluster configuration information of multiple nodes transmitted by a display device during the process of running the client.
[0209] It should be noted that, from a software perspective, it can be considered that: the client receives cluster configuration information of multiple nodes transmitted by the display device.
[0210] In the above embodiment, the target node generates a configuration interface indicating multiple candidate nodes based on the received multiple second SSDP messages, and transmits the configuration interface to the display device, which presents the multiple candidate nodes to the user. Afterwards, the multiple nodes of the user-deployed cluster selected by the user are determined through the cluster configuration information returned by the display device. In this way, not only is it possible to automatically discover multiple candidate nodes that can be used to deploy the cluster, thereby improving the convenience of cluster deployment, but it is also possible for the user to determine the multiple nodes used to deploy the cluster, thereby improving the user experience and the flexibility of cluster deployment.
[0211] It should be noted that the implementation of S1-S2 can be used in combination with the implementation of S3-S6, or they can be used separately. The embodiments of the present application do not limit this.
[0212] In the second implementation, the target node may determine multiple nodes for deploying the cluster.
[0213] In an embodiment of the present application, after the target node receives multiple second SSDP messages, it determines at least some of the multiple candidate nodes indicated by the multiple second SSDP messages as multiple nodes for deploying the cluster, and generates a configuration interface, which is used to indicate multiple nodes.
[0214] In one example, the target node may determine all of the multiple candidate nodes automatically discovered based on the SSDP protocol as nodes for cluster deployment. In another example, the target node may determine, based on a preset value, a preset number of nodes from the multiple candidate nodes automatically discovered based on the SSDP protocol as nodes for cluster deployment. For example, if the preset value is 5, then 5 of the multiple candidate nodes of the target node are determined as nodes for cluster deployment.
[0215] It should be noted that for other relevant descriptions of this implementation method, please refer to the descriptions of S3-S6 above, which will not be repeated here.
[0216] In this implementation, the target node automatically discovers multiple candidate nodes based on the SSDP protocol, and determines at least some of the multiple candidate nodes as multiple nodes for deploying the cluster, thereby automatically determining multiple nodes for deploying the cluster, which helps to improve the convenience and efficiency of cluster deployment.
[0217] S202: The target node deploys the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes.
[0218] In the embodiment of the present application, deploying multiple nodes into a cluster may include multiple deployment stages.
[0219] Illustratively, the multiple deployment phases may include node initialization, configuration of cluster software (ie, cluster-related software / components, etc.), configuration of storage, configuration of keepalive, node joining the cluster, etc.
[0220] Configuring storage may include sub-stages such as installing storage and configuring shared storage, and joining a node to a cluster may include sub-stages such as installing a control node and joining other nodes besides the control node to the cluster.
[0221] It should be noted that the embodiments of the present application do not limit the division of different deployment stages in the cluster deployment process, nor the execution order of different deployment stages. The above is merely an exemplary description.
[0222] It should be noted that, below, the embodiments of the present application are exemplarily introduced by taking node initialization as an example.
[0223] In an embodiment of the present application, the cluster configuration information of the multiple nodes may include network configuration information of the multiple nodes, and the target node may initialize the multiple nodes based on the network configuration information of the multiple nodes. Node initialization may include setting network configuration items of the multiple nodes, and the network configuration items may include IP addresses, gateway addresses, mask addresses, etc.
[0224] Exemplarily, the network configuration information of the multiple nodes may include the network configuration information of the target node and the network configuration information of the non-target node. The target node may perform node initialization on the target node based on the network configuration information of the target node, and may perform node initialization on the non-target node based on the network configuration information of the non-target node, such as by sending a node initialization request to the non-target node, where the node initialization request may include the network configuration information of the non-target node and is used to request node initialization of the non-target node. After receiving the node initialization request, the non-target node performs node initialization based on the network configuration information of the non-target node.
[0225] Exemplarily, deployment software (e.g., Ansible) is installed on the target node, and the target node runs the deployment software to set network configuration items for each of the multiple nodes. For example, the network configuration items for non-target nodes may be set first, and then the network configuration items for the target node may be set.
[0226] It should be noted that the implementation of setting the network configuration item of the non-target node will be described in subsequent embodiments and will not be repeated here. For details, please refer to the embodiment shown in Figure 6.
[0227] It should be noted that the embodiment of the present application does not limit the order in which network configuration items are set for multiple nodes, and the above is only an exemplary description.
[0228] It should be noted that deployment software refers to software that can automatically deploy a cluster. The embodiments of this application do not limit the type of deployment software, and the above is only an exemplary description.
[0229] In an embodiment of the present application, the cluster configuration information may also include the cluster's network configuration information, and the target node may perform cluster network configuration operations based on the cluster's network configuration information. The cluster network configuration operations may include setting the cluster's network configuration items, which may include the cluster's floating IP, container subnet IP, service subnet IP, network port initialization (i.e., performing initial operations on the network port indicated by the cluster network information), etc.
[0230] Exemplarily, the target node may execute cluster network configuration operations by running deployment software.
[0231] In an embodiment of the present application, the cluster configuration information may further include a cluster role model, and the target node may set a role model of the cluster formed by multiple nodes based on the cluster role model. For example, the target node may set the role model of the cluster by running deployment software.
[0232] In the embodiment of the present application, a server is installed on the target node. The target node can deploy multiple nodes into a cluster by running the server. The following is an exemplary description of a deployment process using S8-S10.
[0233] S8: When the target node runs the client, cluster configuration information of multiple nodes is sent based on the loopback address of the target node.
[0234] In the embodiment of the present application, the target node receives cluster configuration information of multiple nodes transmitted by the display device while the target node is running the client. Based on this, the target node sends the cluster configuration information of multiple nodes based on the loopback address of the target node (e.g., 127.0.0.1) while the target node is running the client. That is, the cluster configuration information of multiple nodes is sent with the loopback address of the target node as the destination address.
[0235] It should be noted that, from a software perspective, S7 can also be considered as: the client sends cluster configuration information of multiple nodes based on the loopback address of the target node.
[0236] In an embodiment of the present application, the client has an address clipping function. Based on this, the client can not display the address bar. For example, when the display device displays the configuration interface or deployment interface output / displayed by the client, the address bar can be not displayed. This not only helps to ensure communication security and prevent users from misoperating and modifying the loopback address of the target node, affecting communication between the client and the server, but also helps to prevent users from accessing the target node's file system through the client's address bar, which may affect the data security of the target node.
[0237] S9: When the target node runs the server, cluster configuration information of multiple nodes is received based on the loopback address of the target node.
[0238] In the embodiment of the present application, since the target node's loopback address indicates the target node, when the target node sends cluster configuration information for multiple nodes based on the target node's loopback address, the cluster configuration information for multiple nodes circulates on the target node, that is, is sent to the target node. Based on this, the target node can receive cluster configuration information for multiple nodes based on the target node's loopback address while running the server.
[0239] It should be noted that, from a software perspective, S8 can also be considered as: the server receives cluster configuration information of multiple nodes based on the target node loopback address.
[0240] S10: When the target node runs the server, the multiple nodes are deployed as a cluster based on the cluster configuration information of the multiple nodes.
[0241] In an embodiment of the present application, when a target node is running a server, after receiving cluster configuration information of multiple nodes, the multiple nodes can be deployed into a cluster based on the cluster configuration information of the multiple nodes. For example, when a target node is running a server, deployment software can be called to deploy the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes.
[0242] It should be noted that, from a software perspective, S8 can also be considered as: the server deploys multiple nodes into a cluster based on the cluster configuration information of multiple nodes.
[0243] In the above embodiment, after the target node obtains cluster configuration information for multiple nodes based on the client, it transmits the cluster configuration information for the multiple nodes to the server based on the target node's loopback address, so that the client can deploy the multiple nodes into a cluster based on the cluster configuration information. Because the cluster deployment process is independent of the target node's loopback address, data transmission between the client and server via the target node's loopback point helps ensure that communication between the client and server is not interrupted during the cluster deployment process, thereby helping to ensure smooth cluster deployment.
[0244] In an embodiment of the present application, the cluster configuration information of multiple nodes may include the cluster configuration information of the target node and the cluster configuration information of the non-target nodes. On this basis, deploying multiple nodes into a cluster may include deploying the target node and deploying the non-target nodes.
[0245] It should be noted that the deployment process for the target node and the deployment process for the non-target node will be described in subsequent embodiments and will not be described here in detail. For details, please refer to the description of S602 in the embodiment shown in Figure 6.
[0246] S203: During the cluster deployment process, the target node and the display device transmit data via the first transmission channel.
[0247] In the embodiment of the present application, during the cluster deployment process, data can be transmitted between the target node and the display device through the first transmission channel.
[0248] In one example, the destination node may transmit data to the display device via the first transmission channel. In another example, the destination node may transmit data to the display device via the first transmission channel, that is, the display device may transmit data to the destination node via the first transmission channel.
[0249] In the above embodiment, when a cluster needs to be deployed, the target node obtains cluster configuration information from multiple nodes and deploys the multiple nodes into a cluster based on the cluster configuration information. During the cluster deployment process, data is transmitted between the target node and the display device via the first transmission channel. This avoids network interruptions between the target node and the user's display device during the cluster deployment process, which could result in data transmission failures and thus improve the user experience.
[0250] Since the first transmission channel is established based on the operating system IP address or out-of-band IP address of the target node, where the operating system IP address is the IP address used for in-band management of the target node, and the out-of-band IP address is the IP address used for out-of-band management of the target node, and the cluster deployment process is unrelated to in-band management and out-of-band management, the cluster deployment process will not affect the normal communication of the first transmission channel, that is, the first transmission channel will not be unable to transmit data during the cluster deployment process, thereby ensuring that there will be no network interruption between the target node and the user's display device during the entire cluster deployment process, and further ensuring that data can be continuously transmitted between the target node and the display device in the cluster deployment.
[0251] In the embodiment of the present application, during the cluster deployment process, the target node may transmit cluster deployment progress information, configuration information required for cluster deployment, and other data to the display device through the first transmission channel.
[0252] It should be noted that the embodiment of the present application does not limit the content of the data transmitted by the target node to the display device. The above is only an exemplary description. The following example illustrates the embodiment of the present application by taking the target node transmitting the cluster deployment progress information to the display device as an example.
[0253] In the embodiment of the present application, S203 may include: the target node transmitting the deployment progress information of the cluster to the display device based on the first transmission channel; and the display device is used to display the deployment progress information of the cluster.
[0254] In the embodiment of the present application, the deployment progress information of the cluster can be used to indicate the deployment progress of the cluster. The deployment progress information of the cluster can be divided from multiple dimensions.
[0255] In one division manner, the deployment progress information of the cluster may include the deployment progress information of the target node and the deployment progress information of the non-target nodes.
[0256] In the embodiment of the present application, a proxy component is installed on the target node. During the cluster deployment process, the target node can record the cluster deployment progress information by running the proxy component. For example, the deployment progress information can be recorded in a file.
[0257] For example, a client is installed on the target node. During the cluster deployment process, the target node can obtain cluster deployment progress information through the client and display / output the deployment progress information, such as obtaining the deployment progress information by querying a file.
[0258] On this basis, if the display device accesses the EXSi operating system of the target node through the EXSi client, the deployment progress information displayed / output by the client can be obtained.
[0259] In the embodiment of the present application, during the cluster deployment process, the target node obtains the deployment progress information of the non-target node. It should be noted that obtaining the deployment progress information of the non-target node will be described in subsequent embodiments and will not be repeated here. For details, please refer to the relevant description in S603.
[0260] In another division manner, the deployment progress information of the cluster may include at least one of the following examples 1 to 3.
[0261] Example 1: Deployment progress information can be used to indicate the deployment stage of the cluster.
[0262] Illustratively, the deployment progress information may be used to indicate deployment stages such as node initialization in progress, node initialization completed, cluster software configuration in progress, and cluster software configuration completed.
[0263] Exemplarily, the deployment progress information may also be used to indicate sub-stages of the deployment progress, such as installing storage, configuring shared storage, and so on.
[0264] For example, the deployment progress information may also be used to indicate whether the deployment phase of the cluster is executed successfully, such as: node initialization success, node initialization failure, node 1 initialization failure, node 2 initialization success, etc.
[0265] Example 2: The deployment progress information can be used to indicate the deployment percentage of the cluster.
[0266] The deployment percentage may range from 0% to 100%.
[0267] In one example, the deployment percentage can be used to indicate the percentage of cluster deployment that has been completed, such as 100% for indicating that the cluster deployment is complete. In another example, the deployment percentage can also be used to indicate the remaining percentage of cluster deployment, such as 0% for indicating that the cluster deployment is complete.
[0268] The following describes an embodiment of the present application by taking an example in which the deployment percentage can be used to indicate the completion percentage of cluster deployment.
[0269] For example, the deployment percentage progress can be determined based on the time required for cluster deployment. For example, if cluster deployment is expected to take 10 minutes, and 5 minutes have already been deployed, the deployment percentage is 50%. Alternatively, the deployment percentage can be determined based on the multiple deployment phases of the cluster deployment. For example, if cluster deployment is divided into 6 deployment phases, and tasks in 3 deployment phases have been completed, the deployment percentage is 50%.
[0270] It should be noted that the embodiment of the present application does not limit the dimensions for determining the deployment percentage, and the above is only an exemplary description.
[0271] Example 3: The deployment progress information may be used to indicate the deployment operations that have been performed by at least some nodes.
[0272] Among them, at least some of the nodes can be all the nodes of the cluster, or can also be some of the nodes of the cluster, and the embodiments of the present application do not limit this.
[0273] Exemplarily, the deployment operations that the node has performed may include that the node has completed initialization, the node has completed decompression of the installation package, the node has configured shared storage, the node has joined the cluster, etc.
[0274] In an embodiment of the present application, during cluster deployment, the target node may transmit cluster deployment progress information to a display device based on a first transmission channel. After receiving the cluster deployment progress information, the display device may display the cluster deployment progress information to present the cluster deployment progress information to a user.
[0275] In one example, when the display device establishes a first transmission channel with the target node based on the target node's operating system IP address, the display device can remotely access the target node's EXSi operating system through the EXSi client and display deployment progress information through the EXSi client's Virtual Network Console (VNC). For example, a user can enter the target node's EXSi operating system IP address in the EXSi client's address bar to remotely access the target node's EXSi operating system and display the cluster's deployment progress information through the display device.
[0276] In another example, when a display device establishes a first transmission channel with a target node based on the target node's out-of-band IP address, the display device can access the target node's BMC through a BMC client and display deployment progress information through the BMC client's VNC. For example, the BMC client can be a browser client, and a user can enter the BMC IP address in the browser client's address bar to remotely access the target node's BMC, thereby displaying the cluster's deployment progress information on the display device.
[0277] In the embodiment of the present application, there are multiple implementation methods for transmitting the deployment progress information to the display device. Hereinafter, one implementation method is exemplified through S11 to S12.
[0278] S11: The target node generates a deployment interface based on the deployment progress information.
[0279] The deployment interface is used to indicate deployment progress information.
[0280] In an embodiment of the present application, after the target node obtains the deployment progress information of the cluster, it renders the deployment interface based on the deployment progress information of the cluster, so that the deployment interface can indicate the deployment progress information. For example, the deployment progress information can be included on the deployment interface, so that the deployment interface can be used to indicate the deployment progress information.
[0281] Exemplarily, the target node is installed with a client (eg, a browser client, a GUI client). After the target node obtains the deployment progress information of the cluster, it can render the deployment interface by running the client.
[0282] In one example, the deployment interface can be an HTML interface, such as an HTML5 interface. In this example, setting the deployment interface as an HTML interface helps improve the scalability, versatility, and flexibility of the configuration interface, as well as the convenience of iterating and changing the configuration of the configuration interface, thereby helping to improve the user experience.
[0283] In another example, the deployment interface can also be a GUI. In this example, by setting the deployment interface to be a GUI, this helps to reduce the difficulty of developing the configuration interface, and further helps to reduce the requirements for technicians who develop the configuration interface.
[0284] It should be noted that the embodiment of the present application does not limit the form of the deployment interface, and the above is only an exemplary description.
[0285] S12: The target node transmits the deployment interface to the display device based on the first transmission channel.
[0286] The display device is used to display the deployment interface.
[0287] In an embodiment of the present application, after the target node generates a deployment interface, it transmits the deployment interface to a display device via a first transmission channel. After receiving the deployment interface, the display device displays the deployment interface to present the deployment progress information indicated by the deployment interface to the user. For example, the deployment interface may be the interface shown in FIG1 .
[0288] For example, when the target node renders the deployment interface via the client, the client can display / output the deployment interface after rendering the deployment interface. Based on this, the display device remotely accesses the client on the target node via the first transmission channel, thereby remotely displaying the deployment interface displayed / output by the target node via the client.
[0289] In another implementation, the target node may not generate a deployment interface, but may directly transmit the deployment progress information to the display device, and the display device may directly display the deployment progress information.
[0290] It should be noted that the embodiment of the present application does not limit the form of presentation of the deployment progress information transmitted to the display device, and the above description is merely an example.
[0291] In an embodiment of the present application, when the target node obtains the cluster configuration information of multiple nodes from the display device through the first transmission channel, the user enters the cluster configuration information of multiple nodes on the display device and clicks the "OK" control. The cluster configuration information of the multiple nodes is transmitted to the target node through the first transmission channel. After the target node obtains the cluster configuration information of the multiple nodes, the multiple nodes are clustered and deployed. During the cluster deployment process, a deployment interface indicating the deployment progress information of the cluster is transmitted to the display device through the first communication channel. The display device displays the deployment interface and presents the deployment progress information of the cluster to the user.
[0292] In the above embodiment, during the process of deploying the cluster, the target node can transmit the deployment progress information of the cluster to the display device through the first transmission channel. After receiving the deployment progress information, the display device can display the deployment progress information to present the deployment progress information to the user. In this way, the user can perceive whether there are any abnormalities in the cluster deployment process through the deployment progress information, which not only helps to improve the user's usage experience, but also helps the user to promptly deal with abnormalities in the cluster deployment process, thereby helping to improve the success rate of cluster deployment.
[0293] Furthermore, during the cluster deployment process, a first transmission channel is established using the management IP address of the target node, allowing the target node to transmit cluster deployment progress information to the display device via the first transmission channel. This simplifies the communication process between the target node and the display device during the cluster deployment process, such as eliminating the need to configure separate networking addresses for the target node and the display device. Furthermore, since the cluster deployment process is unrelated to in-band management and out-of-band management, the target node's operating system IP address and out-of-band IP address will not change during the cluster deployment process. This ensures the stability of communication on the first transmission channel during the cluster deployment process, and prevents the first transmission channel from being unable to transmit data. This helps ensure that the target node can continuously transmit deployment progress information to the display device, further helping to ensure full visibility of the deployment process, allowing users to perceive whether there are any anomalies in the cluster deployment process through the deployment progress information.
[0294] In addition, since the display device can remotely access the target node through the first transmission channel, during the cluster deployment process, the user does not need to carry a laptop to the computer room for cluster deployment, which helps to improve the convenience and efficiency of cluster deployment.
[0295] In related technologies, when deploying multiple nodes into a cluster, the target node used for deployment communicates with non-target nodes within the cluster using the node's networking address. However, during cluster deployment, network disconnection between the target and non-target nodes can occur. For example, after the target node sets an IP address for a non-target node, network disconnection between the target and non-target nodes can occur. In this case, if an anomaly occurs in the deployment of the non-target node, the target node will be unable to redeploy the non-target node, resulting in inaccurate cluster deployment and severely impacting the success rate of cluster deployment.
[0296] In view of this, an embodiment of the present application provides another cluster deployment method. The following is an exemplary introduction to the another cluster deployment method in conjunction with FIG6 .
[0297] Fig. 6 is a flow chart showing another cluster deployment method according to an exemplary embodiment. Exemplarily, the cluster deployment method may include the following S601-S603.
[0298] In an embodiment of the present application, the cluster deployment method may be executed by a target node, and a second transmission channel is established between the target node and a non-target node among the multiple nodes based on the link-local address of the non-target node.
[0299] Exemplarily, the second SSDP message received by the target node may include a link-local address. On this basis, the target node may establish a second transmission channel with the non-target node based on the link-local address in the second SSDP message.
[0300] It should be noted that establishing the second transmission channel based on the link-local address of the non-target node can be considered as the link-local address of the non-target node being used as the destination address when the target node sends data to the non-target node.
[0301] Exemplarily, the link-local address may be an IPv6 link-local address.
[0302] It should be noted that for other relevant descriptions of the embodiment shown in FIG6 , reference can be made to the relevant descriptions of the embodiment shown in FIG2 , which will not be repeated here.
[0303] S601: The target node obtains cluster configuration information of multiple nodes.
[0304] It should be noted that for the relevant description of S601, reference can be made to the above-mentioned S201, which will not be repeated here.
[0305] S602: The target node deploys the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes.
[0306] The following is an exemplary introduction to the process of deploying multiple nodes through S13-S114.
[0307] S13: The target node performs cluster initialization based on the cluster configuration information of the target node.
[0308] In an embodiment of the present application, the target node performs cluster initialization on the target node based on the cluster configuration information of the target node. The cluster initialization of the target node may include one or more of initializing the target node, configuring cluster software for the target node, configuring storage for the target node, configuring keepalive for the target node, and joining the target node to the cluster.
[0309] It should be noted that for other related instructions on cluster initialization of the target node, reference can be made to the solutions in the relevant technology, and the embodiments of the present application do not limit this.
[0310] S14: The target node transmits a cluster configuration request to the non-target node. The cluster configuration request includes cluster configuration information of the non-target node. The cluster configuration request is used to request cluster initialization of the non-target node.
[0311] In the embodiment of the present application, there are multiple implementation methods for transmitting a cluster configuration request to a non-target node. The following is an exemplary description using Method A to Method B.
[0312] Mode A: The target node transmits the cluster configuration request to the non-target node based on the third transmission channel.
[0313] In this manner, the target node and the non-target node establish a third transmission channel based on the networking address (also referred to as the networking IP address) of the non-target node.
[0314] Exemplarily, the networking address may be an IPv4 address.
[0315] For example, before cluster deployment, users can configure networking addresses for non-target nodes. Then, when the cluster needs to be deployed, the target node can establish a third transmission channel with the non-target node based on the non-target node's networking address and then send a cluster configuration request to the non-target node via the third transmission channel. After receiving the cluster configuration request, the non-target node initializes the cluster based on the non-target node's cluster configuration information.
[0316] It should be noted that the embodiment of the present application does not impose any restrictions on the time for configuring the networking address for the non-target node. For example, the networking address can be configured for the non-target node before the non-target node leaves the factory, or the networking address can be configured for the target node after the non-target node leaves the factory.
[0317] It should be noted that the embodiment of the present application does not restrict whether the target node is configured with a networking address.
[0318] In this implementation, since the third transmission channel is a networking channel, the target node transmits the cluster configuration request to the non-target node through the third transmission channel. This not only helps to ensure the stability and reliability of data transmission, but also helps to improve transmission efficiency.
[0319] Mode B: The target node transmits the cluster configuration request to the non-target node based on the second transmission channel.
[0320] In this approach, the target node can transmit a cluster configuration request to a non-target node via the second transmission channel. Specifically, the target node sends the cluster configuration request to the non-target node using the non-target node's link-local address as the destination address. The non-target node can then receive the cluster configuration request from the target node via the second transmission channel. After receiving the cluster configuration request, the non-target node initializes the cluster based on the non-target node's cluster configuration information.
[0321] The following uses node initialization during cluster deployment as an example to illustrate the cluster initialization process of non-target nodes.
[0322] Exemplarily, the non-target node includes a second node, the cluster network configuration information of the multiple nodes includes the network configuration information of the second node, and a second transmission channel a is established between the target node and the second node based on the link-local address of the second node. Based on this, the target node sends a cluster configuration request a to the second node via the second transmission channel a. The cluster configuration request a includes the network configuration information of the second node. After receiving the cluster configuration request, the second node responds to the cluster configuration request and sets the network configuration items of the second node based on the network configuration information of the second node, that is, sets the network configuration items of the second node to the content indicated by the network configuration information of the second node.
[0323] For example, the network configuration information of the second node includes 192.168.0.1 (IP address), 192.168.1.1 (gateway address), and 255.255.255.0 (mask address). Based on this, the target node sets the IP address of the second node to 192.168.0.1, the gateway address to 192.168.1.1, and the mask address to 255.255.255.0 through the second transmission channel a.
[0324] It should be noted that after the deployment phase of node initialization is completed, the target node can configure cluster software, storage, keep alive, etc. for non-target nodes through the second transmission channel. The specific process can refer to the node initialization process and will not be repeated here.
[0325] Since there will be no network interruption in the second transmission channel between the target node and the non-target node during the cluster deployment process, the target node performs cluster initialization on the non-target node based on the second transmission channel. This not only helps to ensure that there will be no network interruption between the target node and the non-target node during the deployment of the non-target node, thereby helping to ensure the continuity, reliability and accuracy of the cluster deployment, but also can redeploy the non-target node based on the second transmission channel when the deployment of the non-target node fails, such as: resending the cluster configuration request, etc., thereby helping to improve the success rate of cluster deployment.
[0326] It should be noted that the solutions of S13-S114 and S8-S10 can be used in combination, or they can be used separately, and the embodiments of the present application do not limit this.
[0327] In the above-described embodiment, during cluster deployment, a second transmission channel is established between the target node and non-target nodes based on the link-local address of the non-target node. Based on this, after the target node obtains cluster configuration information, cluster deployment is performed on the non-target node using the second transmission channel. This helps ensure that communication between the target node and the non-target node does not experience network interruptions during the deployment of the non-target node, thereby ensuring the continuity of the cluster deployment process and improving the accuracy of cluster deployment. For example, if an error occurs during a deployment phase, the target node can redeploy the non-target node using the second transmission channel, thereby improving the deployment success rate of the non-target node and, in turn, the overall cluster deployment success rate.
[0328] In the embodiment of the present application, a remote connection can be established between the target node and the non-target node based on the SSH protocol, that is, a second transmission channel is established, which helps to improve the security of data transmission based on the second transmission channel.
[0329] In the embodiment of the present application, when a remote connection is established between a target node and a non-target node based on the SSH protocol, the SSH authentication method may adopt password authentication, wherein password authentication refers to authentication through a user name and password.
[0330] Exemplarily, the target node sends the second node's SSH username and SSH password to the second node. After receiving the SSH username and SSH password, the second node compares them with the locally stored SSH username and SSH password and returns a message to the target node indicating authentication success or authentication failure. If authentication succeeds, the target node and the non-target node can establish a session request based on the second transmission channel, that is, the target node can set the network configuration items of the second node. If authentication fails, the target node and the non-target node cannot establish a session request, that is, the target node cannot set the network configuration items of the second node.
[0331] In the embodiment of the present application, the cluster configuration information of the multiple nodes may at least include SSH communication information of the non-target nodes.
[0332] The SSH communication information may include an SSH username and an SSH password. In this way, the target node can perform SSH authentication with the non-target node based on the SSH communication information of the non-target node in the cluster configuration information, thereby helping to improve the convenience and reliability of SSH authentication.
[0333] It should be noted that the embodiment of the present application does not limit the method of obtaining SSH communication information of non-target connections, and the above is only an exemplary description.
[0334] It should be noted that the embodiment of the present application does not limit the SSH authentication method between the target node and the non-target node. The above is only an exemplary description. For example, key (publickey) authentication, password-publickey authentication, all authentication, etc. can also be used between the target node and the non-target node.
[0335] Publickey authentication uses information such as the username, public key, and public key algorithm for authentication. Password-publickey authentication requires both password and publickey authentication to communicate. All authentication requires either password or publickey authentication to communicate.
[0336] It should be noted that the embodiment of the present application does not limit the protocol used to establish a remote connection between the target node and the non-target node. The above is only an exemplary description. For example, a remote connection can also be established based on the remote login (Telnet) protocol.
[0337] It should be noted that the work of cluster initialization for non-target nodes can also be performed by the target node, such as: performing node initialization on the non-target node, that is, setting the network configuration item of the non-target node to the content indicated by the network configuration information of the non-target node.
[0338] It should be noted that for the relevant description of S602, reference can be made to the above-mentioned S202, which will not be repeated here.
[0339] In an embodiment of the present application, before clustering multiple nodes, cluster software, such as K8s software, can be installed on the multiple nodes. This helps ensure the accuracy and reliability of node initialization. Furthermore, after node initialization is complete, the cluster software on the multiple nodes can be uninstalled and reconfigured for the multiple nodes to ensure the accuracy of the cluster software on the multiple nodes and prevent node initialization from affecting the normal use of the cluster software.
[0340] S603: During the cluster deployment process, the target node and the non-target node transmit data via the second transmission channel.
[0341] In an embodiment of the present application, during the cluster deployment process, data can be transmitted between the target node and the non-target nodes through the second transmission channel.
[0342] In one example, the destination node transmits data to the non-destination node via the second transmission channel. In another example, the destination node receives data transmitted by the non-destination node via the second transmission channel, that is, the non-destination node transmits data to the destination node via the second transmission channel.
[0343] In an embodiment of the present application, during the cluster deployment process, the target node can obtain the deployment progress information of the non-target nodes through the second transmission channel.
[0344] Since there will be no network interruption in the second transmission channel during cluster deployment, the target node obtains the deployment progress information of the non-target nodes through the second transmission channel, which not only helps to ensure the integrity and accuracy of the cluster's deployment progress information, but also helps the cluster understand whether the deployment of the non-target nodes is successful. In this way, in the event of deployment failure, redeployment can be carried out in time, which helps to improve the success rate of cluster deployment.
[0345] It should be noted that the embodiment of the present application does not limit the type of data transmitted between the target node and the non-target node through the second transmission channel. The above is only an exemplary description.
[0346] In the above embodiment, when a cluster needs to be deployed, the target node obtains the cluster configuration information of multiple nodes and deploys the multiple nodes into a cluster based on the cluster configuration information. During the cluster deployment process, data is transmitted between the target node and non-target nodes via the second transmission channel. This avoids network interruptions between the target node and non-target nodes during the cluster deployment process, which could result in data transmission failures and thus improve the user experience.
[0347] Since the second transmission channel between the target node and the non-target node is established based on the link-local address of the non-target node, and cluster deployment does not involve the setting of the link-local address of the non-target node, the cluster deployment process will not affect the normal communication of the second transmission channel. That is, the second transmission channel will not be unable to transmit data during the cluster deployment process, thereby ensuring that there will be no network interruption problems during the entire cluster deployment process, and further ensuring that data can be continuously transmitted between the target node and the non-target node during the cluster deployment process.
[0348] In addition, the target node communicates with the non-target node based on the second transmission channel. In this way, during the production phase of multiple nodes, there is no need to configure networking addresses for communication between the target node and the non-target node. This not only helps to simplify the production installation process of multiple nodes, thereby reducing the complexity of cluster deployment and improving the ease of deploying clusters for multiple nodes, but also helps to improve the shipment flexibility of multiple nodes, thereby improving the delivery efficiency of multiple nodes.
[0349] It should be noted that the cluster deployment method shown in FIG6 can be used in combination with the cluster deployment method shown in FIG2 , or they can be used separately, and the embodiments of the present application do not impose any restrictions on this.
[0350] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to realize the above functions, the cluster deployment device includes hardware structures and / or software modules corresponding to the execution of each function. It should be easy for those skilled in the art to realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0351] The embodiment of the present application can, according to the above method, exemplarily divide the functional modules of the cluster deployment device. For example, the cluster deployment device can include various functional modules corresponding to the various functional divisions, or two or more functions can be integrated into one processing module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation.
[0352] Exemplarily, FIG7 shows a possible structural diagram of the cluster deployment device involved in the above embodiment (denoted as cluster deployment device 700), and the actions performed by the cluster deployment device are implemented through the target node or implemented by executing corresponding software through the target node. A first transmission channel is established between the target node and the display device based on the operating system IP address and out-of-band IP address of the target node. The cluster deployment device 700 includes an acquisition unit 701, a deployment unit 702 and a first transmission unit 703. The acquisition unit 701 is used to obtain cluster configuration information of multiple nodes. For example, as shown in S201 of FIG2. The deployment unit 702 is used to deploy the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes. For example, as shown in S202 of FIG2. The first transmission unit 703 is used to transmit data to the display device through the first transmission channel during the cluster deployment process. For example, as shown in S203 of FIG2.
[0353] Optionally, the target node establishes a third transmission channel with a non-target node among the multiple nodes based on the link local address of the non-target node; the cluster deployment device 700 also includes a third transmission unit 704, and the third transmission unit 704 is also used to: during the cluster deployment process, transmit data with the non-target node through the second transmission channel.
[0354] Optionally, the first transmission unit 703 is specifically configured to: during the cluster deployment process, transmit the cluster deployment progress information to the display device based on the first transmission channel; the display device is configured to display the cluster deployment progress information.
[0355] Optionally, the deployment progress information of the cluster includes deployment progress information of non-target nodes; the third transmission unit 704 is specifically configured to: during the cluster deployment process, obtain the deployment progress information of the non-target nodes based on the second transmission channel.
[0356] Optionally, the cluster configuration information of multiple nodes includes the cluster configuration information of the target node and the cluster configuration information of the non-target node; the deployment unit 702 is specifically used to: initialize the cluster based on the cluster configuration information of the target node; transmit a cluster configuration request to the non-target node, the cluster configuration request includes the cluster configuration information of the non-target node; the cluster configuration request is used to request cluster initialization of the non-target node.
[0357] Optionally, the deployment progress information of the cluster includes deployment progress information of the target node; the first transmission unit 703 is further configured to: during the cluster deployment process, the target node obtains the deployment progress information of the target node.
[0358] Optionally, the first transmission unit 703 is specifically configured to: generate a deployment interface based on the deployment progress information; the deployment interface is used to indicate the deployment progress information of the cluster; transmit the deployment interface to a display device based on the first transmission channel; the display device is used to display the deployment interface.
[0359] Optionally, the first transmission unit 703 transmits data to the display device through a first transmission channel.
[0360] Optionally, the first transmission unit 703 and the third transmission unit 704 transmit data based on the loopback address of the target node.
[0361] Optionally, the third transmission unit 704 transmits data to the non-target node through the second transmission channel.
[0362] Optionally, the acquisition unit 701 is specifically used to: send a first SSDP message; generate a configuration interface based on the received multiple second SSDP messages; the multiple second SSDP messages indicate multiple candidate nodes, and the configuration interface is used to indicate multiple candidate nodes; transmit the configuration interface to the display device; the display device is used to display the configuration interface; receive cluster configuration information of multiple nodes transmitted by the display device; the multiple nodes are determined by the display device from the multiple candidate nodes in response to the user's selection operation.
[0363] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation and description of the beneficial effects of any of the above cluster deployment devices 700 can refer to the above corresponding method embodiments, which will not be repeated here.
[0364] Exemplarily, FIG8 shows a possible structural diagram of the cluster deployment device involved in the above-mentioned embodiment (denoted as cluster deployment device 800), and the actions performed by the cluster deployment device are implemented by a computing device or by executing corresponding software through a computing device. The cluster deployment device 800 includes an acquisition unit 801, a deployment unit 802, and a second transmission unit 803. The acquisition unit 801 is used to obtain cluster configuration information of multiple nodes. For example, as shown in S601 in FIG6. The deployment unit 802 is used to deploy multiple nodes into a cluster based on the cluster configuration information of multiple nodes. For example, as shown in S602 in FIG6. The second transmission unit 803 is used to transmit data with non-target nodes through a second transmission channel during cluster deployment. For example, as shown in S603 in FIG6.
[0365] Optionally, the cluster configuration information of multiple nodes includes the cluster configuration information of the target node and the cluster configuration information of the non-target node; the deployment unit 802 is specifically used to: initialize the cluster based on the cluster configuration information of the target node; transmit a cluster configuration request to the non-target node, the cluster configuration request includes the cluster configuration information of the non-target node; the cluster configuration request is used to request cluster initialization of the non-target node.
[0366] Optionally, the second transmission unit 803 is specifically configured to: during the cluster deployment process, the target node obtains the deployment progress information of the non-target nodes from the non-target nodes based on the second transmission channel.
[0367] Optionally, the acquisition unit 801 is specifically used to: send a first SSDP message; generate a configuration interface based on the received multiple second SSDP messages; the multiple second SSDP messages indicate multiple candidate nodes, and the configuration interface is used to indicate multiple candidate nodes; transmit the configuration interface to the display device; the display device is used to display the configuration interface; receive cluster configuration information of multiple nodes transmitted by the display device; the multiple nodes are determined by the display device from the multiple candidate nodes in response to the user's selection operation.
[0368] Optionally, the multiple second SSDP messages further indicate the link-local address of the non-target node.
[0369] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation and description of the beneficial effects of any of the above cluster deployment devices 800 can refer to the above corresponding method embodiments, which will not be repeated here.
[0370] An embodiment of the present application further provides a computing device, which includes a processor and a memory, wherein the processor is connected to the memory, and the memory stores computer-executable instructions. When the processor executes the computer-executable instructions, the cluster deployment method in the above embodiment is implemented.
[0371] An embodiment of the present application also provides a cluster system, comprising: multiple computing devices, wherein a target computing device among the multiple computing devices comprises a processor and a memory; the processor of the target computing device is used to execute instructions stored in the memory of the target computing device, so that the cluster system executes the above-mentioned cluster deployment method.
[0372] An embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed on a computing device, the computing device is caused to execute any of the methods executed by the computer devices provided above.
[0373] For explanations of the relevant contents and descriptions of the beneficial effects of any of the computer-readable storage media provided above, reference may be made to the corresponding embodiments described above, and no further details will be given here.
[0374] The embodiment of the present application further provides a chip that integrates a control circuit and one or more ports for implementing the functions of the above-mentioned computing device.
[0375] Optionally, the functions supported by the chip can be referred to above and will not be described here in detail. A person skilled in the art will understand that all or part of the steps of the above embodiment can be implemented by a program to instruct the relevant hardware. The program can be stored in a computer-readable storage medium.
[0376] The storage medium mentioned above may be a read-only memory, a random access memory, etc. The processing unit or processor mentioned above may be a central processing unit, a general-purpose processor, an application specific integrated circuit (ASIC), a microprocessor (digital signal processor, DSP), a field programmable gate array (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
[0377] An embodiment of the present application also provides a computer program product containing instructions, which, when executed on a computing device, enables the computing device to execute any one of the methods in the above embodiments.
[0378] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computing device, the process or function according to the embodiment of the present application is generated in whole or in part. It should be noted that the above-mentioned devices for storing computer instructions or computer programs provided in the embodiments of the present application, such as but not limited to the above-mentioned memories, computer-readable storage media and communication chips, etc., are all non-transitory.
[0379] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software programs, all or part of the embodiments may be implemented in the form of computer program products.
[0380] Computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. A computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media. Available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives).
[0381] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art may understand and implement other variations of the disclosed embodiments by reviewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
[0382] Although the present application has been described with reference to specific features and embodiments thereof, it is apparent that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely illustrative of the present application as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, the present application is intended to include such modifications and variations as fall within the scope of the claims of the present application and their equivalents.
Claims
1. A cluster deployment method, characterized in that: Applied to a target node, a first transmission channel is established between the target node and a display device based on an operating system IP address or an out-of-band IP address of the target node; the method comprises: The target node obtains cluster configuration information of multiple nodes; The target node deploys the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes; During cluster deployment, the target node and the display device transmit data through the first transmission channel.
2. The method according to claim 1, characterized in that The target node establishes a second transmission channel with a non-target node among the multiple nodes based on a link local address of the non-target node, and the method further includes: During cluster deployment, the target node and the non-target node transmit data through the second transmission channel.
3. The method according to claim 2, characterized in that The method further includes: in the process of cluster deployment, the target node and the display device transmit data through the first transmission channel, including: During the cluster deployment process, the target node transmits the deployment progress information of the cluster to the display device based on the first transmission channel; the display device is used to display the deployment progress information of the cluster; And / or, the deployment progress information of the cluster includes the deployment progress information of the non-target node; and during the cluster deployment process, the target node and the non-target node transmit data through the second transmission channel, including: During the cluster deployment process, the target node obtains the deployment progress information of the non-target node based on the second transmission channel.
4. The method according to claim 2 or 3, characterized in that: The cluster configuration information of the multiple nodes includes the cluster configuration information of the target node and the cluster configuration information of the non-target node; The deploying the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes includes: The target node performs cluster initialization based on the cluster configuration information of the target node; The target node transmits a cluster configuration request to the non-target node, where the cluster configuration request includes cluster configuration information of the non-target node; the cluster configuration request is used to request cluster initialization of the non-target node.
5. The method according to any one of claims 2 to 4, characterized in that: The target node is configured with a client, and the client and the display device transmit data through the first transmission channel; and / or, the target node is configured with a client and a server, and the client and the server transmit data based on the loopback address of the target node; And / or, the target node is configured with a server, and the server transmits data with the non-target node through the second transmission channel.
6. The method according to any one of claims 1 to 5, characterized in that The target node obtains cluster configuration information of multiple nodes, including: The target node sends a first SSDP message; The target node generates a configuration interface based on the received multiple second SSDP messages; the multiple second SSDP messages indicate multiple candidate nodes, and the configuration interface is used to indicate the multiple candidate nodes; The target node transmits the configuration interface to the display device; the display device is used to display the configuration interface; The target node receives cluster configuration information of the plurality of nodes transmitted by the display device; the plurality of nodes are determined by the display device from the plurality of candidate nodes in response to a selection operation of a user.
7. A cluster deployment method, characterized in that: Applied to a target node, a second transmission channel is established between the target node and a non-target node among a plurality of nodes based on a link local address of the non-target node; the method comprises: The target node obtains cluster configuration information of multiple nodes; The target node deploys the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes; During cluster deployment, the target node and the non-target node transmit data through the second transmission channel.
8. The method according to claim 7, characterized in that The cluster configuration information of the multiple nodes includes the cluster configuration information of the target node and the cluster configuration information of the non-target node; The deploying the multiple nodes into a cluster based on the cluster configuration information of the multiple nodes includes: The target node performs cluster initialization based on the cluster configuration information of the target node; The target node transmits a cluster configuration request to the non-target node, where the cluster configuration request includes cluster configuration information of the non-target node; the cluster configuration request is used to request cluster initialization of the non-target node.
9. The method according to claim 7 or 8, characterized in that: In the process of cluster deployment, the target node and the non-target node transmit data through the second transmission channel, including: During the cluster deployment process, the target node obtains the deployment progress information of the non-target node from the non-target node based on the second transmission channel.
10. The method according to any one of claims 7 to 9, characterized in that: The target node obtains cluster configuration information of multiple nodes, including: The target node sends a first SSDP message; The target node generates a configuration interface based on the received multiple second SSDP messages; the multiple second SSDP messages indicate multiple candidate nodes, and the configuration interface is used to indicate the multiple candidate nodes; The target node transmits the configuration interface to a display device; the display device is used to display the configuration interface; The target node receives cluster configuration information of the plurality of nodes transmitted by the display device; the plurality of nodes are determined by the display device from the plurality of candidate nodes in response to a selection operation of a user.
11. A computing device, characterized in that: include: A processor and a memory, wherein the processor is connected to the memory; The memory is used to store computer-executable instructions, and the processor executes the computer-executable instructions stored in the memory to enable the computing device to implement the method according to any one of claims 1 to 6, or to implement the method according to any one of claims 7 to 10.
Citation Information
Patent Citations
Cluster deployment method and device, terminal equipment and storage medium
CN111782232A
Deployment method, system and device of operating system and electronic equipment
CN112328262A
Cluster deployment method and computing device
CN117896240A
Systems and methods for network discovery for zero configuration based-clustered systems
US20200351158A1
Managing hyper-converged infrastructure (HCI) appliance nodes and clusters with DHCP-based resource
US20230266990A1