A private cloud automatic deployment system and method
By designing a private cloud automatic deployment system, using technical means such as containerized deployment, global controller and edge node routing, Ansible automated configuration tools, the problems of tedious steps and high deployment costs in the private cloud deployment process are solved, and efficient and easy-to-scaling automated deployment is achieved.
Patent Information
- Application Number
- CN202210161224.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-22
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2042-02-22
AI Technical Summary
The existing technology has cumbersome steps and high deployment costs in the private cloud deployment process, making it difficult to achieve efficient and scalable automated deployment.
A private cloud automatic deployment system is designed, including database service module, routing and forwarding module, automatic deployment module and console application module. Through containerized deployment, global controller and edge node routing, Ansible automated configuration tools and other technical means, automated deployment and tenant isolation are achieved.
It realizes simple, efficient and automatic deployment of private clouds, reduces deployment costs and complexity, is stable and easy to scale, and meets the needs of one-click automation deployment.
Smart Images

Figure CN114546595B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a private cloud automatic deployment system and method. Background Art
[0002] Private cloud is mainly used within the enterprise to replace traditional IT services. Compared with traditional IT architecture, private cloud provides hardware resources (including computing resources, storage resources, network resources, etc.) for internal use by the enterprise through virtualization technology, which is invisible to the outside world. For the deployment of private cloud, it is generally deployed in the data center within the enterprise protection zone, and can also be deployed in a third-party hosting agency. Private cloud has the advantages of traditional IT controllability, high availability, and high security, and also has the advantages of public cloud resource sharing, dynamic scaling and resource allocation, and easy management.
[0003] Kubernetes is an open source portable container orchestration management tool used to manage containerized applications on multiple hosts in a cloud platform. Its goal is to make the deployment of containerized applications simple and efficient. Kubernetes provides a mechanism for application deployment, planning, updating, and maintenance. Kubernetes focuses on uninterrupted service status and native cloud platform applications, and supports various services in production cloud platforms. It is often combined with docker container technology to build a Pass-type cloud platform.
[0004] Ansible is an open source automated configuration tool based on OpenSSH. It is often used to deploy software or orchestrate tasks such as continuous deployment and zero-downtime updates. Ansible's main goal is simplicity and ease of use, and it also pays great attention to security and reliability. Based on such goals, Ansible is suitable for developers, system administrators, release engineers, IT managers, and everyone in between. Ansible is suitable for managing almost all environments, and there is no need to install agents on the managed machines, so there is no problem of how to upgrade the remote daemon, nor is there a problem of being unable to manage the system due to uninstalling the daemon.
[0005] In order to simplify the deployment process of a private cloud and help users complete the installation and deployment of a unified environment more conveniently, the present invention proposes a private cloud automatic deployment system and method. Summary of the invention
[0006] In order to overcome the deficiencies of the prior art, the present invention provides a simple and efficient private cloud automatic deployment system and method.
[0007] The present invention is achieved through the following technical solutions:
[0008] A private cloud automatic deployment system, characterized by: comprising a database service module, a routing forwarding module, an automatic deployment module and a console application module;
[0009] The database service module is used to persistently store physical server resource configuration information and cluster identification information for the console application module to call;
[0010] The routing forwarding module is used to realize the intercommunication of physical server resources in different network segments;
[0011] The automatic deployment module is used to complete the automatic deployment service of the database service module and the routing forwarding module, and provide an installation script file;
[0012] The console application module is used to manage physical server resources and call the services provided by the automatic deployment module to complete the private cloud construction work.
[0013] In order to ensure stability and scalability, the database service module adopts the containerized deployment of Nginx proxy service and database; the database has built-in machine (tool) table and cluster (cluster) table; the machine table stores the physical server configuration connection information, and the cluster table stores the token information and identification information of the created cluster.
[0014] The routing forwarding module is composed of a global controller, a storage system etcd, and edge node routing, allowing physical server resources to exist in different network segments; the routing forwarding module uses namespaces to achieve tenant isolation, and the edge node routing under each namespace does not affect each other, and different users are not allowed to have the same namespace;
[0015] The storage system etcd is used to store edge node information, routing information and namespace information.
[0016] The global controller manages edge nodes and routing information, is responsible for issuing routing configuration information, and maintains a long connection with edge nodes. When edge node information and routing information in the storage system etcd change, it notifies each edge node in real time through a long connection.
[0017] The edge node is used to maintain the connection and routing relationship with the global controller, including system static routing and routing maintained within the program. Similar to a gateway, the designed edge node sends the network segment to other edge nodes so that other edge nodes can perceive the edge node and route correctly.
[0018] The automatic deployment module is composed of automatic deployment script files, using the open source automated configuration tool Ansible; the automatic deployment script files include cluster creation scripts, new node scripts, node removal scripts and initialization installation scripts, and the required parameters are passed in by the console application module.
[0019] The initialization installation script includes the module installation script and the offline warehouse installation script;
[0020] In a private cloud environment, software packages are installed using an offline warehouse. The offline warehouse installation script is used to complete the deployment of the offline warehouse. The offline warehouse provides the software packages required for deployment, so that the physical server cluster on the intranet can install unified software. Kubeadm and kubelet are the core tools for building a Kubernetes cluster.
[0021] The module installation script is used to complete the installation of the routing forwarding module and the database service module.
[0022] The console application module is used to implement the management of physical server resources and cluster resources, including the inclusion and deletion of physical server resources and the division of cluster resources. The inclusion function is to create a new host and mark the region and center to which the host belongs.
[0023] Call the addMachine interface of the APIserver module and input the connection configuration information parameters of the physical server resources. The console application module writes the incoming information to the database service module for persistent storage, and calls the routing forwarding module to realize the intercommunication between the physical machine resources and the deployment machine. Finally, the physical machine resources are classified according to the marked regions and centers, and the automatic deployment module is called through the createCluster interface to create a cluster script file to complete the private cloud deployment.
[0024] A private cloud automatic deployment method, characterized in that it includes the following steps:
[0025] Step 1: Store the data information provided by the database service module in a platform form;
[0026] Deploy the Nginx proxy service and database service of the database service module in the form of containers through Docker, and build machine (tool) table and cluster (cluster) table in the database to provide the data required by the console application module;
[0027] Step 2: The routing forwarding module realizes network interconnection between physical resource servers by maintaining edge node routing information;
[0028] In the routing forwarding module, the storage system etcd maintains edge node information, routing information, and namespace information; the global controller sends routing configuration information and manages edge nodes, and maintains a long connection with edge nodes. When the edge node information and routing information in the storage system etcd change, it notifies each edge node through a long connection; the edge node maintains the connection and routing relationship with the global controller, including system static routing and routing maintained within the program;
[0029] Step 3: The automatic deployment module completes the automatic deployment of the routing forwarding module and the database service module by customizing the initialization installation script file, and completes the installation of the Ansible software according to the offline package provided by the offline warehouse; at the same time, the automatic deployment module also customizes the creation of cluster scripts, new node scripts and removal of node scripts, and the required parameters are passed in by the console application module;
[0030] Step 4: The console application module manages the physical server resources and calls the services provided by the automatic deployment module to complete the distribution of data information and store the data in the database service module;
[0031] The console application module sends the physical server resource information to the database service module for persistence, and connects to the automated deployment script file in the automatic deployment module; the console application module completes the generation of configuration information based on the data information provided by the data service module, calls the script file of the automatic deployment module, passes in the generated configuration information, and completes the private cloud construction.
[0032] The beneficial effects of the present invention are: the private cloud automatic deployment system and method, the user can complete the installation and deployment of the private cloud by calling the interface, avoiding the tedious steps in the installation and deployment operations of the private cloud, with low deployment cost and high efficiency, while having stability and easy scalability, meeting the one-click automated deployment requirements, and indicating promotion and application. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0034] Attached Figure 1 Schematic diagram of the automatic deployment system of the private cloud of the present invention.
[0035] Attached Figure 2 This is a schematic diagram of the routing and forwarding module of the present invention. DETAILED DESCRIPTION
[0036] In order to enable those skilled in the art to better understand the technical solutions in the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0037] The private cloud automatic deployment system includes a database service module, a routing forwarding module, an automatic deployment module and a console application module;
[0038] The database service module is used to persistently store physical server resource configuration information and cluster identification information for the console application module to call;
[0039] The routing forwarding module is used to realize the intercommunication of physical server resources in different network segments;
[0040] The automatic deployment module is used to complete the automatic deployment service of the database service module and the routing forwarding module, and provide an installation script file;
[0041] The console application module is used to manage physical server resources and call the services provided by the automatic deployment module to complete the private cloud construction work.
[0042] In order to ensure stability and scalability, the database service module adopts the containerized deployment of Nginx proxy service and database; the database has built-in machine (tool) table and cluster (cluster) table; the machine table stores the physical server configuration connection information, and the cluster table stores the token information and identification information of the created cluster.
[0043] The routing forwarding module is composed of a global controller, a storage system etcd, and edge node routing, allowing physical server resources to exist in different network segments; the routing forwarding module uses namespaces to achieve tenant isolation, and the edge node routing under each namespace does not affect each other, and different users are not allowed to have the same namespace;
[0044] The storage system etcd is used to store edge node information, routing information and namespace information.
[0045] The global controller manages edge nodes and routing information, is responsible for issuing routing configuration information, and maintains a long connection with edge nodes. When edge node information and routing information in the storage system etcd change, it notifies each edge node in real time through a long connection.
[0046] The edge node is used to maintain the connection and routing relationship with the global controller, including system static routing and routing maintained within the program. Similar to a gateway, the designed edge node sends the network segment to other edge nodes so that other edge nodes can perceive the edge node and route correctly.
[0047] The automatic deployment module is composed of automatic deployment script files, using the open source automated configuration tool Ansible; the automatic deployment script files include cluster creation scripts, new node scripts, node removal scripts and initialization installation scripts, and the required parameters are passed in by the console application module.
[0048] The initialization installation script includes the module installation script and the offline warehouse installation script;
[0049] In a private cloud environment, software packages are installed using an offline warehouse. The offline warehouse installation script is used to complete the deployment of the offline warehouse. The offline warehouse provides the software packages required for deployment, so that the physical server cluster on the intranet can install unified software. Kubeadm and kubelet are the core tools for building a Kubernetes cluster.
[0050] The module installation script is used to complete the installation of the routing forwarding module and the database service module.
[0051] The console application module is used to implement the management of physical server resources and cluster resources, including the inclusion and deletion of physical server resources and the division of cluster resources. The inclusion function is to create a new host and mark the region and center to which the host belongs.
[0052] Call the addMachine interface of the APIserver module and input the connection configuration information parameters of the physical server resources. The console application module writes the incoming information to the database service module for persistent storage, and calls the routing forwarding module to realize the intercommunication between the physical machine resources and the deployment machine. Finally, the physical machine resources are classified according to the marked regions and centers, and the automatic deployment module is called through the createCluster interface to create a cluster script file to complete the private cloud deployment.
[0053] The private cloud automatic deployment method includes the following steps:
[0054] Step 1: Store the data information provided by the database service module in a platform form;
[0055] Deploy the Nginx proxy service and database service of the database service module in the form of containers through Docker, and build machine (tool) table and cluster (cluster) table in the database to provide the data required by the console application module;
[0056] Step 2: The routing forwarding module realizes network interconnection between physical resource servers by maintaining edge node routing information;
[0057] In the routing forwarding module, the storage system etcd maintains edge node information, routing information, and namespace information; the global controller sends routing configuration information and manages edge nodes, and maintains a long connection with edge nodes. When the edge node information and routing information in the storage system etcd change, it notifies each edge node through a long connection; the edge node maintains the connection and routing relationship with the global controller, including system static routing and routing maintained within the program;
[0058] Step 3: The automatic deployment module completes the automatic deployment of the routing forwarding module and the database service module by customizing the initialization installation script file, and completes the installation of the Ansible software according to the offline package provided by the offline warehouse; at the same time, the automatic deployment module also customizes the creation of cluster scripts, new node scripts and removal of node scripts, and the required parameters are passed in by the console application module;
[0059] Step 4: The console application module manages the physical server resources and calls the services provided by the automatic deployment module to complete the distribution of data information and store the data in the database service module;
[0060] The console application module sends the physical server resource information to the database service module for persistence, and connects to the automated deployment script file in the automatic deployment module; the console application module completes the generation of configuration information based on the data information provided by the data service module, calls the script file of the automatic deployment module, passes in the generated configuration information, and completes the private cloud construction.
[0061] The embodiment described above is only one specific implementation of the present invention. Common changes and substitutions made by those skilled in the art within the scope of the technical solution of the present invention should be included in the protection scope of the present invention.
Claims
1. A private cloud automatic deployment system, characterized by: Including database service module, routing forwarding module, automatic deployment module and console application module; The database service module is used to persistently store physical server resource configuration information and cluster identification information for the console application module to call; The routing forwarding module is used to realize the intercommunication of physical server resources in different network segments; The automatic deployment module is used to complete the automatic deployment service of the database service module and the routing forwarding module, and provide an installation script file; The console application module is used to implement the management of physical server resources and cluster resources, including the inclusion and deletion of physical server resources and the division of cluster resources, wherein the inclusion function is to create a new host and mark the region and center to which the host belongs; Call the addMachine interface of the APIserver module and input the connection configuration information parameters of the physical server resources. The console application module writes the incoming information to the database service module for persistent storage, and calls the routing forwarding module to realize the intercommunication between the physical machine resources and the deployment machine. Finally, the physical machine resources are classified according to the marked regions and centers, and the automatic deployment module is called through the createCluster interface to create a cluster script file to complete the private cloud deployment.
2. The private cloud automatic deployment system according to claim 1, characterized in that: In order to ensure stability and scalability, the database service module adopts containerized deployment of Nginx proxy service and database; the database has built-in machine table and cluster table; the machine table stores physical server configuration connection information, and the cluster table stores token information and identification information of the created cluster.
3. The private cloud automatic deployment system according to claim 1, characterized in that: The routing forwarding module is composed of a global controller, a storage system etcd, and edge node routing, allowing physical server resources to exist in different network segments; the routing forwarding module uses namespaces to achieve tenant isolation, and the edge node routing under each namespace does not affect each other, and different users are not allowed to have the same namespace; The storage system etcd is used to store edge node information, routing information and namespace information.
4. The private cloud automatic deployment system according to claim 3, characterized in that: The global controller manages edge nodes and routing information, is responsible for issuing routing configuration information, and maintains a long connection with edge nodes. When edge node information and routing information in the storage system etcd change, it notifies each edge node in real time through a long connection. The edge node is used to maintain the connection and routing relationship with the global controller, including system static routing and routing maintained within the program. The designed edge node sends the network segment to other edge nodes so that other edge nodes can perceive the edge node and route correctly.
5. The private cloud automatic deployment system according to claim 1, characterized in that: The automatic deployment module is composed of automatic deployment script files, using the open source automated configuration tool Ansible; the automatic deployment script files include cluster creation scripts, new node scripts, node removal scripts and initialization installation scripts, and the required parameters are passed in by the console application module.
6. The private cloud automatic deployment system according to claim 5, characterized in that: The initialization installation script includes the module installation script and the offline warehouse installation script; In a private cloud environment, software packages are installed using an offline warehouse. The offline warehouse installation script is used to complete the deployment of the offline warehouse. The offline warehouse provides the software packages required for deployment, so that the intranet physical server cluster can install unified software. The module installation script is used to complete the installation of the routing forwarding module and the database service module.
7. A method for automatic deployment of a private cloud, characterized in that: The following steps are involved: Step 1: Store the data information provided by the database service module in a platform form; Deploy the Nginx proxy service and database service of the database service module in the form of containers through Docker, and build machine tables and cluster tables in the database to provide the data required by the console application module; Step 2: The routing forwarding module realizes network interconnection between physical resource servers by maintaining edge node routing information; In the routing forwarding module, the storage system etcd maintains edge node information, routing information, and namespace information; the global controller sends routing configuration information and manages edge nodes, and maintains a long connection with edge nodes. When the edge node information and routing information in the storage system etcd change, it notifies each edge node through a long connection; the edge node maintains the connection and routing relationship with the global controller, including system static routing and routing maintained within the program; Step 3: The automatic deployment module completes the automatic deployment of the routing forwarding module and the database service module by customizing the initialization installation script file, and completes the installation of the Ansible software according to the offline package provided by the offline warehouse; at the same time, the automatic deployment module also customizes the creation of cluster scripts, new node scripts and removal of node scripts, and the required parameters are passed in by the console application module; Step 4: The console application module manages the physical server resources and calls the services provided by the automatic deployment module to complete the distribution of data information and store the data in the database service module; The console application module sends the physical server resource information to the database service module for persistence, and connects to the automatic deployment script file in the automatic deployment module; The console application module generates configuration information based on the data information provided by the data service module, calls the script file of the automatic deployment module, passes in the generated configuration information, and completes the private cloud construction.
Citation Information
Patent Citations
SaaS-based cloud disaster recovery system and method
CN106713409A
Software automatic deployment method and system
CN111324356A