CN113127150A - Rapid deployment method and device of cloud native system, electronic equipment and storage medium - Google Patents

Rapid deployment method and device of cloud native system, electronic equipment and storage medium Download PDF

Info

Publication number
CN113127150A
CN113127150A CN202110293057.5A CN202110293057A CN113127150A CN 113127150 A CN113127150 A CN 113127150A CN 202110293057 A CN202110293057 A CN 202110293057A CN 113127150 A CN113127150 A CN 113127150A
Authority
CN
China
Prior art keywords
network
deployment
software package
automatically
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110293057.5A
Other languages
Chinese (zh)
Other versions
CN113127150B (en
Inventor
侯诗军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongdun Technology Co ltd
Tongdun Holdings Co Ltd
Original Assignee
Tongdun Technology Co ltd
Tongdun Holdings Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tongdun Technology Co ltd, Tongdun Holdings Co Ltd filed Critical Tongdun Technology Co ltd
Priority to CN202110293057.5A priority Critical patent/CN113127150B/en
Publication of CN113127150A publication Critical patent/CN113127150A/en
Application granted granted Critical
Publication of CN113127150B publication Critical patent/CN113127150B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The application relates to a rapid deployment method, a rapid deployment device, electronic equipment and a storage medium of a cloud native system, belonging to the technical field of cloud computing, wherein the method comprises the following steps: receiving a key deployment instruction, wherein the key deployment instruction carries information of a target server; automatically sending a software package required for deployment to the target server according to a flow arranged in a Playbook flow deployment tool in advance, and searching basic dependent software from the software package for installation; searching software from the software package, automatically deploying dependence environments of Docker, cloud native network and Kubernetes, automatically associating IP network segment configuration information of the container to a network plug-in through an Etcd database according to a network scene, and automatically deploying an application program. According to the cloud native system deployment method and device, Kubernets and containers can be automatically deployed in one key mode, the network can be automatically opened, application programs to be operated can be automatically deployed, the cloud native system can be rapidly deployed in one key mode in a full flow process, deployment efficiency is greatly improved, and labor cost is greatly reduced.

Description

Rapid deployment method and device of cloud native system, electronic equipment and storage medium
Technical Field
The present application relates to the field of cloud computing technologies, and in particular, to a method and an apparatus for rapid deployment of a cloud native system, an electronic device, and a storage medium.
Background
At present, although cloud computing technology is rapidly developed, many small and medium-sized enterprises do not have a large number of cloud-native developers, and the cloud-native technology is needed to improve the running efficiency and reduce the running cost of the application programs. The traditional method is to manually deploy various dependent basic system environments such as Kubernets, containers and networks, and then deploy application programs on the basic system environments, so that the efficiency is low, and the labor cost is high.
Therefore, how to improve the deployment efficiency of the cloud native system and reduce the labor cost becomes a problem to be solved urgently by those skilled in the art.
Disclosure of Invention
The embodiment of the application provides a rapid deployment method and device of a cloud native system, electronic equipment and a storage medium, so as to at least solve the problem of how to improve the deployment efficiency of the cloud native system and reduce the labor cost in the related technology.
In a first aspect, an embodiment of the present application provides a method for quickly deploying a cloud native system, including: receiving a one-key deployment instruction, wherein the one-key deployment instruction carries information of a target server; automatically sending a software package required for deployment to the target server according to a flow arranged in a Playbook flow deployment tool in advance, and searching basic dependent software from the software package for installation; searching software from the software package, automatically deploying dependence environments of Docker, cloud native network and Kubernetes, automatically associating IP network segment configuration information of the container to a network plug-in through an Etcd database according to a network scene, and automatically deploying an application program.
In some of these embodiments, the dependent environment for automated deployment of kubernets includes: searching an Api-server, a Controller-manager and a Scheduler Master control software package required by Kubernetes from the software package through a Master deployment module, and installing; and searching the Kubelet and the kube-proxy controlled component required by Kubernetes from the software package through a Node deployment module, and installing.
In some embodiments, automatically associating the IP network segment configuration information of the container to the network plug-in via the Etcd database according to the network scenario when the network scenario is a VLAN network or a direct routing network includes: after receiving a key deployment instruction, receiving IP network segment configuration information in the key deployment instruction through the Controller-manager; writing the IP network segment configuration information into the Etcd database through the Api-server; and reading the IP network segment configuration information from the Etcd database through a network plug-in module, dividing the IP network segment into a plurality of small network segments, and applying the small network segments to the Node deployment module.
In some embodiments, when the network scenario is a VxLAN network, automatically associating the IP network segment configuration information of the container to the network plug-in via the Etcd database according to the network scenario includes: after receiving a key deployment instruction, setting IP network segment configuration information in the Etcd database; and reading the IP network segment configuration information from the Etcd database through a network plug-in module, dividing the IP network segment into a plurality of small network segments, and adding VxLAN tunnel connection to each Node deployment module through the small network segments.
In some embodiments, when the network scenario is a BGP network, automatically associating the IP network segment configuration information of the container to the network plug-in via the Etcd database according to the network scenario includes: after receiving a one-key deployment instruction, acquiring IP network segment configuration information in the one-key deployment instruction through a network plug-in module, dividing an IP network segment into a plurality of small network segments, applying the small network segments to the Node deployment module and writing the small network segments into the Etcd database; and sending the small network segment to the northbound uplink BGP network equipment in a BGP routing protocol mode through the network plug-in module.
In some of these embodiments, automatically deploying an application comprises: and searching a daemon component, an application database and an application program required by Kubernetes from the software package through an application deployment module, installing the daemon component, and starting the application database and the application program.
In a second aspect, an embodiment of the present application provides a device for rapidly deploying a cloud native system, including: the system comprises a receiving unit and a deployment unit, wherein the receiving unit is used for receiving a one-key deployment instruction, and the one-key deployment instruction carries information of a target server; automatically sending a software package required for deployment to the target server according to a flow arranged in a Playbook flow deployment tool in advance, and searching basic dependent software from the software package for installation; searching software from the software package, automatically deploying dependence environments of Docker, cloud native network and Kubernetes, automatically associating IP network segment configuration information of the container to a network plug-in through an Etcd database according to a network scene, and automatically deploying an application program.
In some embodiments, the deployment unit of the above apparatus comprises: master deploys module and Node deploys the module, wherein:
the Master deployment module is used for searching an Api-server, a Controller-manager and a Scheduler main control software package required by Kubernetes from the software package and installing the software package;
and the Node deployment module is used for searching the Kubelet and the kube-proxy controlled components required by Kubernetes from the software package and installing the Kubelet and the kube-proxy controlled components.
In a third aspect, an embodiment of the present application provides an electronic device, including a processor and a storage medium storing a computer program, where the computer program, when executed by the processor, implements the method according to any one of the above items.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium on which a computer program is stored, the computer program, when executed by a processor, implementing the method as in any one of the above.
Compared with the method for rapidly deploying the Kubernets cluster, no application program can be used on the Kubernets cluster which is deployed and delivered, the Kubernets deployment task, the container deployment task, the network configuration task and the application starting task are arranged by using the Playbook function, so that the Kubernets and the containers are automatically deployed in one key mode, the network is automatically opened, the application program to be operated is automatically deployed in one key mode, the cloud native system is rapidly deployed in the whole process, the efficiency of deploying the cloud native system is greatly improved, and the labor cost is reduced. Moreover, in the embodiment of the application, the dependency relationship between the automatic network communication and the automatic processing is realized through each module; the IP network segment configuration information is automatically created according to different network scenes and is associated to the network plug-in, so that the network bottom layer required by Kubernets starting is ready. Compared with a method for deploying an application program on the basis of an existing Kubernets cluster, the method cannot deploy the application program without an existing Kubernets cluster, and therefore when the application program is deployed, a large amount of workload is needed to deploy the Kubernets cluster and solve the related problems of dependency. According to the rapid deployment method of the cloud primary system, Kubernets and containers are automatically deployed in one key mode, the network is automatically opened, and the application program to be operated is automatically deployed, so that the rapid deployment of the cloud primary system in one key mode in a full flow is realized, the deployment efficiency is greatly improved, the labor cost is reduced, and the demonstration flow of cloud primary products can be smoother.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a flow chart of a method for rapid deployment of a cloud-native system according to an embodiment of the application;
FIG. 2 is a task flow diagram according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a rapid deployment apparatus of a cloud-native system according to an embodiment of the present application;
fig. 4 is a block diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be described and illustrated below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments provided in the present application without any inventive step are within the scope of protection of the present application.
It is obvious that the drawings in the following description are only examples or embodiments of the present application, and that it is also possible for a person skilled in the art to apply the present application to other similar contexts on the basis of these drawings without inventive effort. Moreover, it should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another.
Reference in the specification to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the specification. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of ordinary skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments without conflict.
Unless defined otherwise, technical or scientific terms referred to herein shall have the ordinary meaning as understood by those of ordinary skill in the art to which this application belongs. Reference to "a," "an," "the," and similar words throughout this application are not to be construed as limiting in number, and may refer to the singular or the plural. The present application is directed to the use of the terms "including," "comprising," "having," and any variations thereof, which are intended to cover non-exclusive inclusions; for example, a process, method, system, article, or apparatus that comprises a list of steps or modules (elements) is not limited to the listed steps or elements, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus. Reference to "connected," "coupled," and the like in this application is not intended to be limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. The term "plurality" as referred to herein means two or more. "and/or" describes an association relationship of associated objects, meaning that three relationships may exist, for example, "A and/or B" may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. Reference herein to the terms "first," "second," "third," and the like, are merely to distinguish similar objects and do not denote a particular ordering for the objects.
The cloud native technology is a cloud service based on distributed deployment and unified management, and a cloud technology product system established on the basis of technologies such as containers, micro-services and DevOps. The cloud native application is the application designed for the cloud, after the cloud native technology is used, developers do not need to consider the technology implementation of the bottom layer, the elasticity and the distributed advantages of the cloud platform can be fully exerted, and rapid deployment, expansion and contraction as required, non-stop delivery and the like are achieved.
To improve deployment efficiency, the inventors of the present application considered two approaches: one is a method for rapidly deploying Kubernets cluster, and the other is a method for deploying application programs on the basis of the existing Kubernets cluster, however, the two methods have defects:
(1) for the method for rapidly deploying the kubernets cluster, only rapid deployment and delivery of the kubernets cluster can be achieved, but actual services can not be used on the kubernets cluster for deployment and delivery.
(2) For the approach of deploying applications on the basis of existing kubernets clusters, although applications can be deployed on existing kubernets clusters, this is obviously just "attic in the air". Because, without the kubernets cluster, applications cannot be deployed. In fact, there are often only a few servers inside an enterprise, and there is no existing kubernets cluster, so a great amount of work is required to deploy the kubernets cluster and solve the problems related to dependency.
In summary, the deployment efficiency improved by the two methods is limited.
In order to maximize the deployment efficiency, the embodiment of the application provides a rapid deployment method of a cloud native system, and aims to realize one-key rapid deployment of a whole set of systems and automatically run an application program, so that the threshold of using the cloud native technology by small and medium-sized enterprises is reduced, and people can enjoy the bonus brought by the technology.
As an implementation manner, the method for rapidly deploying a cloud native system according to the embodiment of the present application may include the following steps: after receiving a one-key deployment instruction (the one-key deployment instruction carries information of a target server), automatically executing a Kubernetes deployment task, a container deployment task, a network configuration task and an application starting task on the target server according to a pre-arranged task flow, wherein each task flow is arranged by a Playbook flow deployment tool; and when the execution of each task flow is completed, obtaining the cloud native system. Optionally, a Playbook flow deployment tool is adopted to arrange the kubernets, the Etcd database and the network plug-in according to the dependency relationship of the successive services.
As an implementation manner, fig. 1 is a flowchart of a rapid deployment method of a cloud native system according to an embodiment of the present application, and as shown in fig. 1, the rapid deployment method of a cloud native system according to the embodiment of the present application includes:
s100: receiving a key deployment instruction, wherein the key deployment instruction carries information of a target server;
s200: automatically sending a software package required for deployment to a target server according to a flow arranged in a Playbook flow deployment tool in advance, and searching basic dependent software from the software package for installation;
s300: searching software from a software package, automatically deploying dependence environments of Docker, cloud native network and Kubernetes, automatically associating IP network segment configuration information of the container to a network plug-in through an Etcd database according to a network scene, and automatically deploying an application program.
Kubernetes is an open-source container arrangement engine, and supports automatic deployment, large-scale scalable and application containerization management. When an application is deployed in a production environment, multiple instances of the application are typically deployed to load balance application requests. Kubernets is an open source for managing containerized applications on multiple hosts in a cloud platform, the goal of kubernets is to make deploying containerized applications simple and efficient, and provides a mechanism for application deployment, planning, updating, and maintenance.
The container is produced along with the development of the thin client system. In developing a thin client system, a developer expends a great deal of effort to pay attention to thread security, matters, networks, resources, and so on, thereby reducing development efficiency. Since these solutions to these details are generally fixed or only parameter-changing, from the viewpoint of code reuse and design patterns, developers extract these bottom-level details, build platforms, and provide certain interfaces. Thus, the business developer need not be concerned with the implementation of these underlying details, but rather with the implementation of the business logic. The container is typically located within the application server, which is responsible for loading and maintenance. One container can only exist within one application server, and one application server can establish and maintain multiple containers.
The Playbook is a mode of a command line execution manner, and is powerful and flexible. Briefly, Playbook is a very simple configuration management and multi-host deployment system that, unlike any existing schema, can serve as a basis for deploying complex applications. The Playbook can be configured in a customized manner, can be executed in order according to specified operation steps, and supports a synchronous mode and an asynchronous mode. In addition, the Playbook is described and defined by the YAML format.
In the embodiment of the application, a plurality of tiny components of a large system are subjected to role-based role-.
The Etcd is a reliable distributed KV storage product developed by CoreOS, and the bottom layer of the Etcd uses the Raft algorithm to ensure consistency and is mainly used for shared configuration and service discovery.
Based on the above content, in the embodiment of the application, the kubernets deployment task, the container deployment task, the network configuration task and the application start task are arranged by using the Playbook function, so that the kubernets and the containers are automatically deployed in one key mode, the network is automatically opened, the application program to be operated is automatically deployed in one key mode, the cloud native system is rapidly deployed in one key mode in a full flow, the deployment efficiency is greatly improved, and the labor cost is reduced.
To further illustrate the technical effects brought by the embodiments of the present application, a scenario is illustrated here: when cloud native applications are demonstrated for a user, if the client does not have an existing Kubernets cluster, various environments depending on Kubernets, containers, networks and the like need to be deployed, and then the demonstration can be continued, so that the efficiency is low, and the whole demonstration flow is not smooth. However, if the rapid deployment method of the cloud native system in the embodiment of the application is adopted, the whole system environment can be rapidly deployed in one key, and the application program can be automatically run, so that not only is the efficiency greatly improved, but also the whole demonstration process is smoother.
For the technical solution of the embodiment of the present application, a technician needs to study technologies such as Kubernetes, Etcd databases, containers, and Playbook process deployment tools, and then design an architecture and an orchestration process. Specifically, a Playbook flow deployment tool is adopted to arrange Kubernets, Etcd databases and network plug-ins according to the dependency relationship of the successive services.
As one example, automatically sending the software package needed for deployment to the target server and finding the base dependent software from the software package for installation includes: sending a software package required for deployment to a target server through a file distribution module; and searching the basic dependent software from the software package through the basic software installation module, and installing.
As one example, automatically deploying Docker includes: and searching the driver software required by the container operation from the software package through the container deployment module, and installing the driver software.
As an example, in the embodiment of the present application, software required by the Etcd database is searched from a software package through the Etcd storage module, and is installed.
As one example, automatically deploying a cloud-native network includes: and searching the cloud native network plug-in package from the software package through the network plug-in module, and installing.
As one example, a dependent environment for automated deployment of kubernets includes: searching Api-server, Controller-manager and Scheduler Master control software packages required by Kubernetes from the software packages through a Master deployment module, and installing; searching a Kubelet and a kube-proxy controlled component required by Kubernetes from a software package through a Node deployment module, and installing the Kubelet and the kube-proxy controlled component;
as one example, automatically deploying an application includes: and searching a daemon component, an application database and an application program required by Kubernetes from the software package through the application deployment module, installing the daemon component, and starting the application database and the application program.
In order to more clearly illustrate the embodiment of the present application, the task flow (i.e., the flow after receiving the one-key deployment instruction) is fully described below. For example, fig. 2 is a task flow diagram according to an embodiment of the present application, and as shown in fig. 2, after receiving a one-key deployment instruction, the following flow is automatically performed:
s201: sending a software package required for deployment to a target server through a file distribution module;
s202: searching basic dependent software from the software package through a basic software installation module, and installing;
s203: searching software required by the Etcd database from the software package through the Etcd storage module, and installing the software;
s204: searching for the driving software required by the container operation from the software package through the container deployment module, and installing the driving software;
s205: searching a cloud native network plug-in package from the software package through the network plug-in module, and installing;
s206: searching Api-server, Controller-manager and Scheduler Master control software packages required by Kubernetes from the software packages through a Master deployment module, and installing;
s207: searching a Kubelet and a kube-proxy controlled component required by Kubernetes from a software package through a Node deployment module, and installing the Kubelet and the kube-proxy controlled component;
s208: and searching a daemon component, an application database and an application program required by Kubernetes from the software package through the application deployment module, installing the daemon component, and starting the application database and the application program.
Based on the above contents, the Kubernets, the Etcd database and the network plug-in can be concatenated according to the dependency relationship of the successive services, so that the Kubernets and the containers can be automatically deployed, the network can be automatically opened, the application program to be operated can be automatically deployed on the server in a one-click full-flow manner, the deployment efficiency is maximized, and the labor cost is greatly reduced.
It should be noted that the steps illustrated in the above-described flow diagrams or in the flow diagrams of the figures may be performed in a computer system, such as a set of computer-executable instructions, and that, although a logical order is illustrated in the flow diagrams, in some cases, the steps illustrated or described may be performed in an order different than here.
The embodiment of the present application further provides a device for rapidly deploying a cloud native system, where the device is used to implement the foregoing embodiment and preferred embodiments, and the description of the device that has been already made is omitted. The terms "module," "unit," and the like as used herein may implement a combination of software and/or hardware for a predetermined function. Although the means described in the embodiments of the present application are preferably implemented in software, an implementation in hardware or a combination of software and hardware is also possible and contemplated.
As an implementation manner, the apparatus includes a receiving unit and a deployment unit, where the receiving unit is configured to receive a one-key deployment instruction, where the one-key deployment instruction carries information of a target server; the deployment unit is used for automatically sending a software package required for deployment to the target server according to the flow which is arranged in the Playbook flow deployment tool in advance, and searching the basic dependent software from the software package for installation; searching software from a software package, automatically deploying dependence environments of Docker, cloud native network and Kubernetes, automatically associating IP network segment configuration information of the container to a network plug-in through an Etcd database according to a network scene, and automatically deploying an application program.
As an example, fig. 3 is a schematic structural diagram of a rapid deployment apparatus of a cloud native system according to an embodiment of the present application, and as shown in fig. 3, the apparatus includes a file distribution module, a basic software installation module, an Etcd storage module, a Master deployment module, a container deployment module, a network plug-in module, a Node deployment module, and an application deployment module, and the functions and relationships of the modules are described below:
the file distribution module: after receiving a one-key deployment instruction input by an operator, the software package is used for distributing the software package required by deployment to a target server so as to be called by a relevant module in a subsequent process.
A basic software installation module: by setting some preconditions to initialize the preparation, some essential base dependent software is installed.
Etcd storage module: the method is used for deploying an underlying distributed state storage library (such as an Etcd database) required by the cloud native cluster, and also can be used for creating IP network segment configuration information required by a network plug-in the Etcd database.
A Master deployment module: the system is used for deploying three main control components, namely an Api-server, a Controller-manager and a Scheduler, required by Kubernetes.
A container deployment module: and the driving module is used for deploying the container bottom layer operation.
A network plug-in module: the method is used for deploying the cloud native network plug-in, for example, reading IP network segment configuration information from an Etcd database, and then deploying the cloud native network plug-in according to the IP network segment configuration information.
A Node deployment module: the system is used for deploying two controlled components, namely Kubelet and kube-proxy required by Kubernetes.
An application deployment module: the system is used for deploying the daemon process components required by Kubernets and sequentially starting the application database and the application program.
The above modules may be functional modules or program modules, and may be implemented by software or hardware. For a module implemented by hardware, the modules may be located in the same processor; or the modules can be respectively positioned in different processors in any combination.
In the early stage of data processing by using the device, the preparation steps and the auxiliary steps are as follows:
firstly, configuration information of various cluster roles needs to be prepared, and which hosts are used as masters and which hosts are used as nodes are determined;
secondly, IP network segment configuration information required by the Kubernetes cluster is prepared, such as container IP network segment information, Service IP network segment information, Master cluster virtual machine IP addresses and the like;
finally, the one-key deployment instruction is ready to be executed to facilitate reception by the above-described device.
Through the preparation steps and the auxiliary steps, the configuration corresponding relation can be combed in advance, so that the device can accurately identify the requirements of the user, and a final desired finished product is obtained.
With continuing reference to fig. 3, as an example, the following describes an implementation flow of the above-described apparatus:
the first step is as follows: after the operator inputs the one-key deployment instruction into the device, the file distribution module starts to distribute the software package to the target server.
The second step is that: and after receiving the software package sent by the file distribution module, the basic software installation module starts to search the needed bottom layer initialization basic dependent software from the software package and executes installation operation.
The third step: parallel deployment of distributed state repositories (e.g., Etcd databases) and drivers required for container operation:
(1) the Etcd storage module searches software required by the distributed state storage library from the software package sent by the file distribution module and executes installation operation; in addition, IP network segment configuration information can be set in an Etcd database;
(2) the container deployment module searches the driver software required by the container operation from the software package sent by the file distribution module, namely, the driver module required by the bottom operation of the deployment container.
The fourth step: and the network plug-in module reads the IP network segment configuration information from the Etcd database, then searches the cloud native network plug-in package from the software package sent by the file distribution module, and executes installation operation.
The fifth step: and the Master deployment module searches three main control software packages, namely an Api-server, a Controller-manager and a Scheduler, required by Kubernetes from the software packages sent by the file distribution module, and executes installation operation.
And a sixth step: and the Node deployment module searches two controlled software packages, namely a Kubelet and a kube-proxy, required by Kubernets from the software packages transmitted by the file distribution module and executes installation operation.
The seventh step: the application deployment module searches a daemon component package, an application database and an application program required by Kubernetes from a software package sent by the file distribution module; then, firstly, a daemon component required by Kubernetes is installed, then the daemon component required by Kubernetes is confirmed to be started normally without errors, then an application database is started, and finally an application program is started.
It is worth noting that one of the difficulties in the development process of the technical solution of the embodiment of the present application is how to realize the automation of creating IP network segment configuration information in an Etcd database according to different network scenarios and associating the IP network segment configuration information to a network plug-in, so as to enable a network bottom layer required by the startup of a kubernets cluster to be ready.
In practice, according to four situations of the cloud native cluster network requirements of customers, such as a VLAN network, a direct routing network, a VxLAN network, and a BGP network, the inventors of the present application perform different process settings on the four situations to solve the above problem. Therefore, automatically associating the IP network segment configuration information of the container to the network plug-in through the Etcd database according to the network scene comprises the following procedures:
(1) in the context of a VLAN network or a direct routing network: after an operator transmits a key deployment instruction into the device, the Etcd storage module does not process IP network segment configuration information temporarily, but after a Master deployment module behind installs an Api-server and a Controller-manager main control software package, the Controller-manager receives the IP network segment configuration information in the key deployment instruction, and then writes the IP network segment configuration information into an Etcd database through the Api-server. Finally, the network plug-in module reads the IP network segment configuration information from the Etcd database, and then the IP network segment is divided into a plurality of small network segments according to 25-bit sub-network masks by default, and the small network segments are applied to the existing Node deployment module;
(2) in the context of a VxLAN network: after an operator transmits a key deployment instruction into the device, the Etcd storage module searches software required by the operation of the Etcd database from a software package transmitted by the file distribution module, and after the software is installed, IP network segment configuration information is set in the Etcd database. And then the network plug-in module reads the IP network segment configuration information from the Etcd database, and the IP network segment is divided into a plurality of small network segments according to 25-bit subnet masks by default. Finally, the network plug-in module adds VxLAN tunnel connection to each existing Node deployment module by using the small network segments;
(3) in the context of a BGP network: after an operator transmits a one-key deployment instruction into the device, the Etcd storage module and the Master deployment model temporarily do not process IP network segment configuration information, but the following network plug-in module acquires the IP network segment configuration information in the one-key deployment instruction, then the IP network segment is divided into a plurality of small network segments according to 25-bit subnet masks by default, and the small network segments are applied to the existing Node deployment module and written into an Etcd database. And finally, the network plug-in module sends the small networks to the northbound uplink BGP network equipment in a BGP routing protocol mode.
Based on the above, after the technical personnel input configuration parameters and command instructions to the device, a complete cloud native system cluster finished product can be finally obtained through the process of the application.
In summary, the technical scheme of the embodiment of the application can rapidly deploy the Kubernets cluster and automatically start the service application program on the Kubernets cluster by one key, thereby maximizing the deployment efficiency and reducing the labor cost; technical problems related to network communication and technical problems related to dependency relationships are also solved.
Fig. 4 is a block diagram of an electronic device according to an embodiment of the present application, and as shown in fig. 4, the electronic device may include a processor 81 and a memory 82 storing computer program instructions.
Specifically, the processor 81 may include a Central Processing Unit (CPU), or A Specific Integrated Circuit (ASIC), or may be configured to implement one or more Integrated circuits of the embodiments of the present Application.
Memory 82 may include, among other things, mass storage for data or instructions. By way of example, and not limitation, memory 82 may include a Hard Disk Drive (Hard Disk Drive, abbreviated to HDD), a floppy Disk Drive, a Solid State Drive (SSD), flash memory, an optical Disk, a magneto-optical Disk, tape, or a Universal Serial Bus (USB) Drive or a combination of two or more of these. Memory 82 may include removable or non-removable (or fixed) media, where appropriate. The memory 82 may be internal or external to the data processing apparatus, where appropriate. In a particular embodiment, the memory 82 is a Non-Volatile (Non-Volatile) memory. In particular embodiments, Memory 82 includes Read-Only Memory (ROM) and Random Access Memory (RAM). The ROM may be mask-programmed ROM, Programmable ROM (PROM), Erasable PROM (EPROM), Electrically Erasable PROM (EEPROM), Electrically rewritable ROM (EAROM), or FLASH Memory (FLASH), or a combination of two or more of these, where appropriate. The RAM may be a Static Random-Access Memory (SRAM) or a Dynamic Random-Access Memory (DRAM), where the DRAM may be a Fast Page Mode Dynamic Random-Access Memory (FPMDRAM), an Extended data output Dynamic Random-Access Memory (EDODRAM), a Synchronous Dynamic Random-Access Memory (SDRAM), and the like.
The memory 82 may be used to store or cache various data files for processing and/or communication use, as well as possible computer program instructions executed by the processor 81.
The processor 81 reads and executes the computer program instructions stored in the memory 82 to implement the rapid deployment method of the cloud native system in any one of the above embodiments.
In some of these embodiments, the electronic device may also include a communication interface 83 and a bus 80. As shown in fig. 4, the processor 81, the memory 82, and the communication interface 83 are connected via the bus 80 to complete communication therebetween.
The communication interface 83 is used for implementing communication between modules, devices, units and/or equipment in the embodiment of the present application. The communication interface 83 may also enable communication with other components such as: the data communication is carried out among external equipment, image/data acquisition equipment, a database, external storage, an image/data processing workstation and the like.
The bus 80 includes hardware, software, or both. . . The components of the device are coupled to each other. Bus 80 includes, but is not limited to, at least one of the following: data Bus (Data Bus), Address Bus (Address Bus), Control Bus (Control Bus), Expansion Bus (Expansion Bus), and Local Bus (Local Bus). By way of example, and not limitation, Bus 80 may include an Accelerated Graphics Port (AGP) or other Graphics Bus, an Enhanced Industry Standard Architecture (EISA) Bus, a Front-Side Bus (FSB), a Hyper Transport (HT) Interconnect, an ISA (ISA) Bus, an InfiniBand (InfiniBand) Interconnect, a Low Pin Count (LPC) Bus, a memory Bus, a microchannel Architecture (MCA) Bus, a PCI (Peripheral Component Interconnect) Bus, a PCI-Express (PCI-X) Bus, a Serial Advanced Technology Attachment (SATA) Bus, a Video Electronics Bus (audio Electronics Association), abbreviated VLB) bus or other suitable bus or a combination of two or more of these. Bus 80 may include one or more buses, where appropriate. Although specific buses are described and shown in the embodiments of the application, any suitable buses or interconnects are contemplated by the application.
In addition, in combination with the rapid deployment method of the cloud native system in the foregoing embodiments, embodiments of the present application may provide a computer-readable storage medium to implement. The computer readable storage medium having stored thereon computer program instructions; the computer program instructions, when executed by the processor, implement the method for rapid deployment of a cloud native system of any of the above embodiments.
The technical features of the embodiments described above may be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the embodiments described above are not described, but should be considered as being within the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. A rapid deployment method of a cloud native system is characterized by comprising the following steps:
receiving a one-key deployment instruction, wherein the one-key deployment instruction carries information of a target server;
automatically sending a software package required for deployment to the target server according to a flow arranged in a Playbook flow deployment tool in advance, and searching basic dependent software from the software package for installation;
searching software from the software package, automatically deploying dependence environments of Docker, cloud native network and Kubernetes, automatically associating IP network segment configuration information of the container to a network plug-in through an Etcd database according to a network scene, and automatically deploying an application program.
2. The method of claim 1, wherein automatically deploying a dependency environment for kubernets comprises:
searching an Api-server, a Controller-manager and a Scheduler Master control software package required by Kubernetes from the software package through a Master deployment module, and installing;
and searching the Kubelet and the kube-proxy controlled component required by Kubernetes from the software package through a Node deployment module, and installing.
3. The method of claim 2, wherein automatically associating the IP network segment configuration information of the container to the network plug-in via the Etcd database according to the network scenario when the network scenario is a VLAN network or a direct routing network comprises:
after receiving a key deployment instruction, receiving IP network segment configuration information in the key deployment instruction through the Controller-manager;
writing the IP network segment configuration information into the Etcd database through the Api-server;
and reading the IP network segment configuration information from the Etcd database through a network plug-in module, dividing the IP network segment into a plurality of small network segments, and applying the small network segments to the Node deployment module.
4. The method of claim 2, wherein automatically associating the IP network segment configuration information of the container to the network plug-in via the Etcd database according to the network scenario when the network scenario is a VxLAN network comprises:
after receiving a key deployment instruction, setting IP network segment configuration information in the Etcd database;
and reading the IP network segment configuration information from the Etcd database through a network plug-in module, dividing the IP network segment into a plurality of small network segments, and adding VxLAN tunnel connection to each Node deployment module through the small network segments.
5. The method of claim 2, wherein automatically associating the IP network segment configuration information of the container to the network plug-in via the Etcd database according to the network scenario when the network scenario is a BGP network comprises:
after receiving a one-key deployment instruction, acquiring IP network segment configuration information in the one-key deployment instruction through a network plug-in module, dividing an IP network segment into a plurality of small network segments, applying the small network segments to the Node deployment module and writing the small network segments into the Etcd database;
and sending the small network segment to the northbound uplink BGP network equipment in a BGP routing protocol mode through the network plug-in module.
6. The method of claim 1, wherein automatically deploying an application comprises:
and searching a daemon component, an application database and an application program required by Kubernetes from the software package through an application deployment module, installing the daemon component, and starting the application database and the application program.
7. A rapid deployment device for a cloud-native system, comprising:
the system comprises a receiving unit, a processing unit and a processing unit, wherein the receiving unit is used for receiving a one-key deployment instruction, and the one-key deployment instruction carries information of a target server;
the deployment unit is used for automatically sending a software package required for deployment to the target server according to the flow which is arranged in the Playbook flow deployment tool in advance, and searching basic dependent software from the software package for installation; searching software from the software package, automatically deploying dependence environments of Docker, cloud native network and Kubernetes, automatically associating IP network segment configuration information of the container to a network plug-in through an Etcd database according to a network scene, and automatically deploying an application program.
8. The apparatus of claim 7, wherein the deployment unit comprises:
the Master deployment module is used for searching the Api-server, the Controller-manager and the Scheduler main control software package required by Kubernetes from the software package and installing the software package;
and the Node deployment module is used for searching the Kubelet and the kube-proxy controlled components required by Kubernetes from the software package and installing the Kubelet and the kube-proxy controlled components.
9. An electronic device comprising a processor and a storage medium storing a computer program, wherein the computer program, when executed by the processor, implements the method of any of claims 1 to 6.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method according to any one of claims 1 to 6.
CN202110293057.5A 2021-03-18 2021-03-18 Rapid deployment method and device of cloud primary system, electronic equipment and storage medium Active CN113127150B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110293057.5A CN113127150B (en) 2021-03-18 2021-03-18 Rapid deployment method and device of cloud primary system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110293057.5A CN113127150B (en) 2021-03-18 2021-03-18 Rapid deployment method and device of cloud primary system, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113127150A true CN113127150A (en) 2021-07-16
CN113127150B CN113127150B (en) 2023-10-17

Family

ID=76773473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110293057.5A Active CN113127150B (en) 2021-03-18 2021-03-18 Rapid deployment method and device of cloud primary system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113127150B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810230A (en) * 2021-09-16 2021-12-17 广州虎牙科技有限公司 Method, device and system for carrying out network configuration on containers in container cluster
CN114138368A (en) * 2021-11-30 2022-03-04 招商局金融科技有限公司 Application deployment system, method, device and storage medium based on cloud-native
CN114205230A (en) * 2021-12-13 2022-03-18 中国电信股份有限公司 Method, system, medium and electronic device for configuring cloud native network element
CN114265595A (en) * 2021-12-24 2022-04-01 北京航空航天大学云南创新研究院 Cloud native application development and deployment system and method based on intelligent contracts
CN115396304A (en) * 2022-09-15 2022-11-25 科讯嘉联信息技术有限公司 System and method for automatically deploying cloud native application based on deployment planning table

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789200A (en) * 2016-12-07 2017-05-31 国云科技股份有限公司 A kind of method of the self-defined automatic deployment of cloud platform
CN106936636A (en) * 2017-03-15 2017-07-07 无锡华云数据技术服务有限公司 A kind of implementation method of the cloud computing test platform of rapid deployment containerization
CN108549580A (en) * 2018-03-30 2018-09-18 平安科技(深圳)有限公司 Methods and terminal device of the automatic deployment Kubernetes from node
CN108694053A (en) * 2018-05-14 2018-10-23 平安科技(深圳)有限公司 Build the method and terminal device of Kubernetes host nodes automatically based on Ansible tools
CN108829409A (en) * 2018-06-20 2018-11-16 泰华智慧产业集团股份有限公司 A kind of distributed system quick deployment method and system
CN110611697A (en) * 2019-08-02 2019-12-24 杭州网银互联科技股份有限公司 Network architecture and network deployment method of hybrid cloud
CN110704164A (en) * 2019-09-30 2020-01-17 珠海市新德汇信息技术有限公司 Cloud native application platform construction method based on Kubernetes technology
US10708135B1 (en) * 2019-01-31 2020-07-07 EMC IP Holding Company LLC Unified and automated installation, deployment, configuration, and management of software-defined storage assets
CN111538590A (en) * 2020-04-17 2020-08-14 姜海强 Distributed data acquisition method and system based on CS framework
CN111625316A (en) * 2020-05-15 2020-09-04 苏州浪潮智能科技有限公司 Environment deployment method and device, electronic equipment and storage medium
US10812272B1 (en) * 2020-01-13 2020-10-20 Cyberark Software Ltd. Identifying computing processes on automation servers
CN111880815A (en) * 2020-07-14 2020-11-03 北京中电广通技术服务有限公司 Method for rapidly deploying Kubernets in closed network environment
CN112162753A (en) * 2020-09-28 2021-01-01 腾讯科技(深圳)有限公司 Software deployment method and device, computer equipment and storage medium
CN112328361A (en) * 2020-11-02 2021-02-05 杭州当虹科技股份有限公司 Method for rapidly deploying kubenetes cluster
CN112398669A (en) * 2019-08-15 2021-02-23 北京京东尚科信息技术有限公司 Hadoop deployment method and device
CN112416524A (en) * 2020-11-25 2021-02-26 电信科学技术第十研究所有限公司 Implementation method and device of cross-platform CI/CD (compact disc/compact disc) based on docker and kubernets offline

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789200A (en) * 2016-12-07 2017-05-31 国云科技股份有限公司 A kind of method of the self-defined automatic deployment of cloud platform
CN106936636A (en) * 2017-03-15 2017-07-07 无锡华云数据技术服务有限公司 A kind of implementation method of the cloud computing test platform of rapid deployment containerization
CN108549580A (en) * 2018-03-30 2018-09-18 平安科技(深圳)有限公司 Methods and terminal device of the automatic deployment Kubernetes from node
CN108694053A (en) * 2018-05-14 2018-10-23 平安科技(深圳)有限公司 Build the method and terminal device of Kubernetes host nodes automatically based on Ansible tools
CN108829409A (en) * 2018-06-20 2018-11-16 泰华智慧产业集团股份有限公司 A kind of distributed system quick deployment method and system
US10708135B1 (en) * 2019-01-31 2020-07-07 EMC IP Holding Company LLC Unified and automated installation, deployment, configuration, and management of software-defined storage assets
CN110611697A (en) * 2019-08-02 2019-12-24 杭州网银互联科技股份有限公司 Network architecture and network deployment method of hybrid cloud
CN112398669A (en) * 2019-08-15 2021-02-23 北京京东尚科信息技术有限公司 Hadoop deployment method and device
CN110704164A (en) * 2019-09-30 2020-01-17 珠海市新德汇信息技术有限公司 Cloud native application platform construction method based on Kubernetes technology
US10812272B1 (en) * 2020-01-13 2020-10-20 Cyberark Software Ltd. Identifying computing processes on automation servers
CN111538590A (en) * 2020-04-17 2020-08-14 姜海强 Distributed data acquisition method and system based on CS framework
CN111625316A (en) * 2020-05-15 2020-09-04 苏州浪潮智能科技有限公司 Environment deployment method and device, electronic equipment and storage medium
CN111880815A (en) * 2020-07-14 2020-11-03 北京中电广通技术服务有限公司 Method for rapidly deploying Kubernets in closed network environment
CN112162753A (en) * 2020-09-28 2021-01-01 腾讯科技(深圳)有限公司 Software deployment method and device, computer equipment and storage medium
CN112328361A (en) * 2020-11-02 2021-02-05 杭州当虹科技股份有限公司 Method for rapidly deploying kubenetes cluster
CN112416524A (en) * 2020-11-25 2021-02-26 电信科学技术第十研究所有限公司 Implementation method and device of cross-platform CI/CD (compact disc/compact disc) based on docker and kubernets offline

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
关兴民;张兆伟;王祝先;王子洋;: "基于Kubernetes的气象私有云自动化部署与优化", 信息技术, no. 05 *
刘佳;高琪琪;刘飘;梁栋茂;: "基于Ansible的自动化部署与运维", 河南科技, no. 26 *
范永合;杨澎涛;朱应科;孙剑;湛林福;付巧娟;: "基于Ansible实现Zabbix自动部署", 电脑知识与技术, no. 35 *
赵创业;唐亮亮;郭威;王哲;黄晓波: "基于Ansible和Flume的海量数据自动化采集系统", 电子设计工程, vol. 28, no. 003 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810230A (en) * 2021-09-16 2021-12-17 广州虎牙科技有限公司 Method, device and system for carrying out network configuration on containers in container cluster
CN114138368A (en) * 2021-11-30 2022-03-04 招商局金融科技有限公司 Application deployment system, method, device and storage medium based on cloud-native
CN114138368B (en) * 2021-11-30 2024-03-19 招商局金融科技有限公司 Application deployment system, method, equipment and storage medium based on cloud protogenesis
CN114205230A (en) * 2021-12-13 2022-03-18 中国电信股份有限公司 Method, system, medium and electronic device for configuring cloud native network element
CN114205230B (en) * 2021-12-13 2023-12-15 中国电信股份有限公司 Configuration method, system, medium and electronic equipment of cloud primary network element
CN114265595A (en) * 2021-12-24 2022-04-01 北京航空航天大学云南创新研究院 Cloud native application development and deployment system and method based on intelligent contracts
CN114265595B (en) * 2021-12-24 2022-09-02 北京航空航天大学云南创新研究院 Cloud native application development and deployment system and method based on intelligent contracts
CN115396304A (en) * 2022-09-15 2022-11-25 科讯嘉联信息技术有限公司 System and method for automatically deploying cloud native application based on deployment planning table
CN115396304B (en) * 2022-09-15 2023-08-08 科讯嘉联信息技术有限公司 System and method for automatically deploying cloud native application based on deployment planning table

Also Published As

Publication number Publication date
CN113127150B (en) 2023-10-17

Similar Documents

Publication Publication Date Title
CN113127150A (en) Rapid deployment method and device of cloud native system, electronic equipment and storage medium
US10567397B2 (en) Security-based container scheduling
CN107145380B (en) Virtual resource arranging method and device
CN111324571B (en) Container cluster management method, device and system
WO2019184164A1 (en) Method for automatically deploying kubernetes worker node, device, terminal apparatus, and readable storage medium
JP5758995B2 (en) System, method and computer-readable storage medium for sharing analysis results between virtual machines
CN113296792B (en) Storage method, device, equipment, storage medium and system
WO2019184116A1 (en) Method and device for automatically building kubernetes main node, terminal device and computer-readable storage medium
WO2019090993A1 (en) Deployment method and apparatus for monitoring system, computer device and storage medium
US7886292B2 (en) Methodology of individualized software deployment for hardware-independent personal computer mass development
CN110727653B (en) Multi-project load balancing method and device
CN110673923A (en) XWIKI system configuration method, system and computer equipment
US20240111549A1 (en) Method and apparatus for constructing android running environment
CN103856343A (en) Method and system for configurating virtual machine network information
CN108763963B (en) Distributed processing method, device and system based on data access authority
CN108073423A (en) A kind of accelerator loading method, system and accelerator loading device
CN111857951A (en) Containerized deployment platform and deployment method
CN111294293B (en) Network isolation method and device based on user mode protocol stack
WO2016078326A1 (en) Method, apparatus and system for displaying names of virtual machine
CN108667750B (en) Virtual resource management method and device
CN113572856B (en) Method, control method and medium for configuring seven-layer load balancing for OVN architecture
CN115618409A (en) Database cloud service generation method, device, equipment and readable storage medium
CN108650320B (en) Method for synchronizing configuration files of isomorphic cascading equipment in cluster environment
WO2020026993A1 (en) Control device and control method
CN112363806A (en) Cluster management method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant