A container-based SDN controller deployment method, device and medium

Automating the deployment of SDN controllers through a container-based method, solving the problems of complicated deployment steps and inconsistent configurations of existing deployments, achieving the effect of simplifying deployment, reducing human errors and improving reliability.

CN113918276BActive Publication Date: 2025-05-13INSPUR NETWORK TECH (SHANDONG) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111095092.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-17
Publication Date
2025-05-13
Estimated Expiration
2041-09-17

AI Technical Summary

Technical Problem

The deployment steps of existing SDN controllers are complicated, with human operation errors and inconsistent configurations of production environments and test environments.

Method used

Using the container-based SDN controller deployment method, by determining the business modules, code management warehouses and operating environment of the SDN controller, mirror files are generated and deployed in distributed containers, to achieve automated deployment and configuration management.

Benefits of technology

Simplifies the deployment process of SDN controllers, reduces human operation errors, ensures consistency between production and test environments, and provides high reliability and flexible deployment solutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113918276B_ABST
    Figure CN113918276B_ABST
Patent Text Reader

Abstract

The present application discloses a container-based SDN controller deployment method, device and medium, the method comprising: determining multiple business modules of the SDN controller, deploying the multiple business modules, and determining code management warehouses corresponding to the multiple business modules, so as to manage configuration files corresponding to the multiple business modules through the code management warehouse; publishing the SDN controller, determining the operating environments corresponding to the multiple business modules according to the published content of the SDN controller, generating an image file according to the operating environment, and sending the image file to the cloud; determining the engineering file of the SDN controller, collecting the configuration files managed in the code management warehouse through the engineering file, so as to complete the mounting configuration; determining multiple operating environments of the SDN controller through the engineering file according to the image file obtained from the cloud, and deploying the business modules in distributed containers for operation according to the multiple operating environments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of network virtualization, and in particular to a container-based SDN controller deployment method, device and medium. Background Art

[0002] Software Defined Network (SDN) is a new type of network architecture. Its core idea is to control the distributed forwarding network device plane through centralized controller software. The SDN controller that combines cloud computing and virtualization technology can flexibly control the forwarding layer. Currently, SDN technology has been widely used in data centers and campus networks.

[0003] As a software product, SDN controllers are bound to involve the process of deployment and launch. Currently, the deployment steps of traditional SDN controllers on the market are complicated, and there are problems such as human operation errors and inconsistent configuration between the production environment and the test environment. Summary of the invention

[0004] In order to solve the above problems, the present application proposes a container-based SDN controller deployment method, which is applied in a container-based SDN controller deployment system, wherein the SDN controller deployment system includes a cloud, and the method includes: determining multiple business modules of the SDN controller, deploying the multiple business modules, and determining the code management warehouses corresponding to the multiple business modules, so as to manage the configuration files corresponding to the multiple business modules through the code management warehouse; publishing the SDN controller, determining the operating environments corresponding to the multiple business modules according to the published content of the SDN controller, generating an image file according to the operating environment, and sending the image file to the cloud; determining the engineering file of the SDN controller, and collecting the configuration files managed in the code management warehouse through the engineering file to complete the mounting configuration; according to the image file obtained from the cloud, determining the multiple operating environments of the SDN controller through the engineering file, and deploying the business modules in distributed containers for operation according to the multiple operating environments.

[0005] In one example, after the business module is deployed in a distributed container for operation according to the multiple operating environments, the method further includes: determining the number of copies of each business module deployed through the engineering file of the SDN controller, checking the operating status of the business module, and if the operating status of the business module is abnormal, starting the copy corresponding to the SDN controller.

[0006] In one example, the method further includes: determining an upgrade request for the SDN controller, rolling upgrading the version of the SDN controller according to the upgrade request, and performing upgrade detection on the rolling upgrade; if the rolling upgrade fails, rolling back the SDN controller to a previous version.

[0007] In one example, the SDN controller deployment system also includes a monitoring management system and a log analysis system, and the method also includes: determining the operation status and resource usage of the container through the monitoring management system; determining the logs generated by the container during operation through the log analysis system, and classifying and analyzing the logs to determine the operation report of the container.

[0008] In one example, after sending the image file to the cloud, the method further includes: determining version information of the business module in the cloud, and associating the business module with a project through the cloud for encrypted and secure access.

[0009] In one example, after the SDN controller is published and the operating environment corresponding to the multiple business modules is determined according to the published content of the SDN controller, the method also includes: according to the operating environment of the SDN controller, mounting and configuring the image file and the multiple configuration files of the SDN controller, and completing the deployment of the distributed SDN controller system according to the engineering file of the SDN controller, and managing the configuration files through the SDN controller system.

[0010] In one example, the method further includes: determining the load of the SDN controller, and if the load exceeds a preset threshold, dynamically expanding the capacity of the SDN controller to add slave nodes.

[0011] In one example, determining the code management warehouse corresponding to the multiple business modules specifically includes: determining the source code of the SDN controller, determining the code management warehouse of the SDN controller according to the source code, and managing the source code of the SDN controller through the code management warehouse.

[0012] On the other hand, the present application also proposes a container-based SDN controller deployment device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the container-based SDN controller deployment device can execute: determining multiple business modules of the SDN controller, deploying the multiple business modules, and determining the code management warehouse corresponding to the multiple business modules, so as to manage the configuration files corresponding to the multiple business modules through the code management warehouse; publishing the SDN controller, determining the operating environment corresponding to the multiple business modules according to the published content of the SDN controller, generating an image file according to the operating environment, and sending the image file to the cloud; determining the engineering file of the SDN controller, collecting the configuration files managed in the code management warehouse through the engineering file to complete the mounting configuration; according to the image file obtained from the cloud, determining the multiple operating environments of the SDN controller through the engineering file, and deploying the business modules in a distributed container for operation according to the multiple operating environments.

[0013] On the other hand, the present application also proposes a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions are configured to: determine multiple business modules of the SDN controller, deploy the multiple business modules, and determine the code management warehouse corresponding to the multiple business modules, so as to manage the configuration files corresponding to the multiple business modules through the code management warehouse; publish the SDN controller, determine the operating environment corresponding to the multiple business modules according to the published content of the SDN controller, generate an image file according to the operating environment, and send the image file to the cloud; determine the engineering file of the SDN controller, collect the configuration files managed in the code management warehouse through the engineering file, so as to complete the mounting configuration; determine the multiple operating environments of the SDN controller through the engineering file according to the image file obtained from the cloud, and deploy the business modules in a distributed container for operation according to the multiple operating environments.

[0014] This application combines the SDN controller with containerization technology to achieve the ability to deploy the SDN system in a very simple way and complete the function of quick deployment and online. By parsing the engineering files of the SDN controller, the entire SDN system can be deployed and the configuration can be opened according to the engineering files. The configuration files of its own operating environment are managed through the SDN controller business module, and managed together with the source code. The minimum dependency environment required for the program to run is produced through the SDN controller business module. With the release of the version, the image is generated and uploaded to the private server, and the business module is independently deployed. Multiple can be deployed on one operating system. The public cloud private server is used to complete the version management of the SDN controller module and provide a cloud image of the SDN controller business module. The operation of the system is monitored through the monitoring and management platform, and the system logs are collected through the log system and reports are generated for easy analysis. The strategy of rolling upgrade and rollback of the SDN controller is adopted. Through the characteristics of the container orchestration system and the characteristics of the SDN controller business module, rolling upgrades without interrupting the business and rollback after problems are found are achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0016] Figure 1 A schematic diagram of a process of deploying a container-based SDN controller in an embodiment of the present application;

[0017] Figure 2 This is a schematic diagram of the deployment of a container-based SDN controller in an embodiment of the present application;

[0018] Figure 3 This is a schematic diagram of a container-based SDN controller deployment device in an embodiment of the present application. DETAILED DESCRIPTION

[0019] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0020] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0021] With the rapid development of cloud computing, the servers in data centers no longer run only one system or one application, but all servers are used as a large resource pool by the cloud platform, such as OpenStack. Their storage, computing, and network are all treated as resources and dispatched uniformly by the cloud platform. Many system applications can run on a server, and these system applications are isolated from each other. Although they are on the same server, they run completely independently.

[0022] Thanks to the virtualization technology of virtual machines (VMs), a server can now create multiple systems to deploy different applications. For example, VM1 deploys the underlying network service module of the SDN controller, VM2 deploys the bearer network service module of the SDN controller, VM3 deploys the service module of the SDN controller L4-7, and VM4 deploys the load balancing nginx, etc. These programs are deployed separately and the services are isolated. They only need to ensure that their own business functions are normal. However, the rich service modules also bring a lot of deployment work. To ensure that the service modules on all VM virtual machines are deployed normally, the SDN controller can be guaranteed to operate normally. Each application on the VM needs to go through the process of manual deployment, configuration, and startup. This is undoubtedly a huge burden on the use of the SDN controller.

[0023] With the development of virtualization technology, a more lightweight virtualization technology Docker was born, and there is also a corresponding orchestration system kubernetes. Docker is a container technology, and it is also a virtualization technology, but its granularity is smaller, and it is a virtualization technology based on VM. A server can virtualize multiple VMs, and a VM can virtualize hundreds or thousands of containers using Docker. The operation of the container is also completely isolated. It is the minimum operating environment that the program depends on.

[0024] Using the above characteristics, this application proposes a container-based SDN controller deployment method. All business modules of the SDN controller are packaged into Docker images, then uploaded to the cloud environment, and finally a configuration file is run in the kubernetes cluster environment. A complete SDN controller operating environment can be built based on the configuration file. This greatly simplifies the deployment process of the SDN controller.

[0025] like Figure 1 As shown, a container-based SDN controller deployment method provided in an embodiment of the present application is applied in a container-based SDN controller deployment system, the SDN controller deployment system includes a cloud, and the method includes:

[0026] S101: Determine multiple service modules of the SDN controller, deploy the multiple service modules, determine code management warehouses corresponding to the multiple service modules, and manage configuration files corresponding to the multiple service modules through the code management warehouse.

[0027] SDN is a network architecture and a way to implement network virtualization. The current SDN distributed deployment method on the market mainly uses an SDN controller to control one or more SDN switches. The SDN distributed controller is deployed in each area computer room. Each area computer room has an SDN controller that controls the entire network system environment under one or more SDN switches in the computer room. Different SDN controllers can be deployed in each area computer room to control one or more SDN switches in the computer room. However, the above distributed deployment method requires a large number of SDN controller deployment actions, and manual configuration is required, which is a huge workload. In addition, each controller is only responsible for the equipment in the computer room that it manages. If the controller goes down, the computer room cannot operate normally and does not have high reliability.

[0028] like Figure 2 As shown in the figure, the SDN controller has multiple modules, such as: underlying network module, bearer network module, L4-7 business module, operation and maintenance module, etc. The functions of each business module are independent of each other, for example: the underlying network module carries the underlying network business logic; the bearer network module is responsible for the bearer network business logic; the L4-7 business module is responsible for the L4-7 network business logic; the operation and maintenance module is used to display the traffic visualization business intelligence dashboard (BIdashboard) interface. Each business module can be deployed separately. Each business module has an independent code management warehouse, which manages the relevant configuration files corresponding to its business module through the code management warehouse, so that the mounting configuration management can be realized according to the configuration files in the final orchestration stage.

[0029] S102: Publish the SDN controller, determine the operating environments corresponding to the multiple business modules according to the published content of the SDN controller, determine the image file according to the operating environment, and send the image file to the cloud.

[0030] like Figure 2As shown, when the SDN controller version is released, the release content of the SDN controller is determined. According to the release content, the detailed operation information of the SDN controller can be obtained, thereby determining the minimum operating environment that each business module depends on. Each business module needs to confirm the components required for its operation during operation, which is the operating environment of the business module. The minimum operating environment is the combination of the minimum components required for the business module to maintain operation. Each business module and the minimum operating environment it depends on are packaged into an image file, and then the image file is uploaded to the cloud. For example, the cloud is a public cloud private service, including Sdn-underlay v1.1, Sdn-overlay v1.1, Sdn-L47 v1.1, Sdn-oam v1.1 and other cloud image files and their versions.

[0031] S103: Determine the engineering file of the SDN controller, determine the corresponding configuration file according to the engineering file, and complete the mounting configuration.

[0032] Through the kubernetes cluster orchestration function, first determine the engineering files of the SDN controller, collect the configuration files of each business module according to the engineering files of the SDN controller, and complete the mounting configuration management.

[0033] S104: Determine a plurality of operating environments of the SDN controller according to the engineering file, and deploy the service module into a distributed container for operation according to the plurality of operating environments.

[0034] like Figure 2 As shown, the production environment orchestration stage is implemented in the kubernetes cluster. According to the project file, multiple operating environments of the SDN controller are determined, and a set of SDN operating environments is configured and generated. The business module of the SDN controller is deployed to a distributed container for operation, for example: container POD1, container POD2, container POD3, container POD4.

[0035] In one embodiment, when the SDN controller needs to be upgraded, each SDN controller often needs to be upgraded manually. During the upgrade, the service cannot be used normally, and if the upgrade fails, the problem needs to be located and rolled back to the original version, which makes the operation and maintenance upgrade very difficult. The container-based SDN controller deployment method proposed in this application utilizes the rolling upgrade function of kubernetes to achieve the entire distributed environment. First, the upgrade request of the SDN controller is determined, and the version of the SDN controller is rolled up according to the upgrade request. All business modules are upgraded to the new version without interrupting the business, and the old version of the SDN controller is slowly replaced with the new version of the SDN controller, so that a smooth upgrade can be achieved. During the rolling upgrade process, an upgrade detection is performed. If an upgrade error occurs in a business module in the rolling upgrade, or a problem occurs in a step, the SDN controller being upgraded is rolled back to the previous version to ensure that the SDN controller can be used normally.

[0036] In one embodiment, the SDN controller deployment system also includes a monitoring management system and a log analysis system. Through the monitoring management system, the operation and resource usage of all containers can be viewed, and the overall situation can be controlled as a whole. Through the log analysis system, the logs generated during the operation of the container can be collected, and the operation logs can be classified and analyzed, and an operation report of the container can be generated to let the operation and maintenance personnel know whether the system has more serious practical problems. The monitoring management system can observe the operation of all module containers in the entire system, and the log collection system can obtain alarm information of all systems.

[0037] In one embodiment, after the image file is sent to the cloud, the version information of the business module is determined, the version of the business module of the published SDN controller is managed through the cloud, all sub-module versions under the SDN control project are managed by associating sub-modules with the project, and the deployment of secure access is completed through HTTPS encryption.

[0038] In one embodiment, the SDN controller in this application is combined with containerization technology to achieve the ability to deploy the SDN system in a very simple manner. By manufacturing an image of the SDN controller, the operating environment of the SDN controller is guaranteed to be deployed with one click, and the configuration files are managed. Through the SDN controller engineering file produced, a complete distributed SDN system can be deployed according to the engineering file and the configuration can be opened. The configuration files are managed and controlled by the SDN controller system.

[0039] In one embodiment, the number of service modules deployed by the SDN controller can be specified through the engineering file of the SDN controller, and each service module is regarded as a copy of the SDN controller. During operation, the operation status of the service module is checked. If the operation status of a service module is abnormal, other copies of the SDN controller are started. In addition, there are several available copies in standby state, so as not to affect the normal operation of the SDN controller and have high reliability.

[0040] In one embodiment, during operation, the load of the SDN controller is monitored in real time. If the load exceeds a preset threshold, the SDN controller is dynamically expanded, slave nodes are added, and the operation pressure is shared among the slave nodes.

[0041] In one embodiment, the source code of the SDN controller at the time of establishment is determined, and a code management warehouse corresponding to the SDN controller is established, and the relevant configuration files and source codes of the SDN controller are managed together through the code management warehouse.

[0042] like Figure 3 As shown, the embodiment of the present application also provides a container-based SDN controller deployment device, which is characterized by comprising:

[0043] at least one processor; and,

[0044] a memory communicatively connected to the at least one processor; wherein,

[0045] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the container-based SDN controller deployment device to execute:

[0046] Determine multiple service modules of the SDN controller, deploy the multiple service modules, and determine code management warehouses corresponding to the multiple service modules, so as to manage configuration files corresponding to the multiple service modules through the code management warehouse;

[0047] Publishing the SDN controller, determining the operating environment corresponding to the multiple business modules according to the published content of the SDN controller, generating an image file according to the operating environment, and sending the image file to the cloud;

[0048] Determine the engineering file of the SDN controller, and collect the configuration file managed in the code management warehouse through the engineering file to complete the mounting configuration;

[0049] According to the image file obtained from the cloud, the multiple operating environments of the SDN controller are determined through the engineering file, and the service module is deployed in a distributed container for operation according to the multiple operating environments.

[0050] The embodiment of the present application further provides a non-volatile computer storage medium storing computer executable instructions, wherein the computer executable instructions are configured as follows:

[0051] Determine multiple service modules of the SDN controller, deploy the multiple service modules, and determine code management warehouses corresponding to the multiple service modules, so as to manage configuration files corresponding to the multiple service modules through the code management warehouse;

[0052] Publishing the SDN controller, determining the operating environment corresponding to the multiple business modules according to the published content of the SDN controller, generating an image file according to the operating environment, and sending the image file to the cloud;

[0053] Determine the engineering file of the SDN controller, and collect the configuration file managed in the code management warehouse through the engineering file to complete the mounting configuration;

[0054] According to the image file obtained from the cloud, the multiple operating environments of the SDN controller are determined through the engineering file, and the service module is deployed in a distributed container for operation according to the multiple operating environments.

[0055] Each embodiment in this application is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.

[0056] The devices and media provided in the embodiments of the present application correspond one-to-one to the methods. Therefore, the devices and media also have similar beneficial technical effects as the corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the devices and media will not be repeated here.

[0057] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0058] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0059] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0060] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0061] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

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

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

[0064] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0065] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims

1. A container-based SDN controller deployment method, characterized in that: Applied in a container-based SDN controller deployment system, the SDN controller deployment system includes a cloud, and the method includes: Determine multiple service modules of the SDN controller, deploy the multiple service modules, and determine code management warehouses corresponding to the multiple service modules, so as to manage configuration files corresponding to the multiple service modules through the code management warehouse; Publishing the SDN controller, determining the operating environment corresponding to the multiple business modules according to the publishing content of the SDN controller, generating an image file according to the operating environment, and sending the image file to the cloud; Determine the engineering file of the SDN controller, and collect the configuration file managed in the code management warehouse through the engineering file to complete the mounting configuration; According to the image file obtained from the cloud, multiple operating environments of the SDN controller are determined through the engineering file, and the service module is deployed in a distributed container for operation according to the multiple operating environments; After the service module is deployed in a distributed container for operation according to the multiple operating environments, the method further includes: Determine the number of replicas deployed for each of the service modules through the engineering file of the SDN controller, check the running status of the service module, and if the running status of the service module is abnormal, start the replica corresponding to the SDN controller; Determining an upgrade request for the SDN controller, performing a rolling upgrade on a version of the SDN controller according to the upgrade request, and performing an upgrade detection on the rolling upgrade; If the rolling upgrade fails, the SDN controller is rolled back to the previous version; The SDN controller deployment system also includes a monitoring management system and a log analysis system, and the method also includes: Determining the operation status and resource usage of the container through the monitoring management system; Determine the logs generated by the container during operation through the log analysis system, and classify and analyze the logs to determine the operation report of the container; After publishing the SDN controller and determining the operating environments corresponding to the multiple service modules according to the published content of the SDN controller, the method further includes: According to the operating environment of the SDN controller, the image file of the SDN controller and the multiple configuration files are mounted and configured, and according to the engineering file of the SDN controller, the deployment of the distributed SDN controller system is completed, and the configuration files are managed and controlled through the SDN controller system.

2. The method according to claim 1, characterized in that After sending the image file to the cloud, the method further includes: The version information of the business module in the cloud is determined, and the business module is associated with a project through the cloud for encrypted and secure access.

3. The method according to claim 1, characterized in that The method further comprises: The load of the SDN controller is determined, and if the load exceeds a preset threshold, the SDN controller is dynamically expanded to increase slave nodes.

4. The method according to claim 1, characterized in that: Determining the code management repositories corresponding to the multiple business modules specifically includes: The source code of the SDN controller is determined, the code management warehouse of the SDN controller is determined according to the source code, and the source code of the SDN controller is managed through the code management warehouse.

5. A container-based SDN controller deployment device, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the container-based SDN controller deployment device to execute: Determine multiple service modules of the SDN controller, deploy the multiple service modules, and determine code management warehouses corresponding to the multiple service modules, so as to manage configuration files corresponding to the multiple service modules through the code management warehouse; Publishing the SDN controller, determining the operating environment corresponding to the multiple business modules according to the publishing content of the SDN controller, generating an image file according to the operating environment, and sending the image file to the cloud; Determine the engineering file of the SDN controller, and collect the configuration file managed in the code management warehouse through the engineering file to complete the mounting configuration; According to the image file obtained from the cloud, multiple operating environments of the SDN controller are determined through the engineering file, and the service module is deployed in a distributed container for operation according to the multiple operating environments; After the business module is deployed in a distributed container for operation according to the multiple operating environments, Determine the number of replicas deployed for each of the service modules through the engineering file of the SDN controller, check the running status of the service module, and if the running status of the service module is abnormal, start the replica corresponding to the SDN controller; Determining an upgrade request for the SDN controller, performing a rolling upgrade on a version of the SDN controller according to the upgrade request, and performing an upgrade detection on the rolling upgrade; If the rolling upgrade fails, the SDN controller is rolled back to the previous version; The SDN controller deployment system also includes a monitoring management system and a log analysis system. Determining the operation status and resource usage of the container through the monitoring management system; Determine the logs generated by the container during operation through the log analysis system, and classify and analyze the logs to determine the operation report of the container; After publishing the SDN controller and determining the operating environments corresponding to the multiple service modules according to the published content of the SDN controller, According to the operating environment of the SDN controller, the image file of the SDN controller and the multiple configuration files are mounted and configured, and according to the engineering file of the SDN controller, the deployment of the distributed SDN controller system is completed, and the configuration files are managed and controlled through the SDN controller system.

6. A non-volatile computer storage medium storing computer executable instructions, characterized in that: The computer executable instructions are configured to: Determine multiple service modules of the SDN controller, deploy the multiple service modules, and determine code management warehouses corresponding to the multiple service modules, so as to manage configuration files corresponding to the multiple service modules through the code management warehouse; Publishing the SDN controller, determining the operating environment corresponding to the multiple business modules according to the publishing content of the SDN controller, generating an image file according to the operating environment, and sending the image file to the cloud; Determine the engineering file of the SDN controller, and collect the configuration file managed in the code management warehouse through the engineering file to complete the mounting configuration; According to the image file obtained from the cloud, multiple operating environments of the SDN controller are determined through the engineering file, and the service module is deployed in a distributed container for operation according to the multiple operating environments; After the business module is deployed in a distributed container for operation according to the multiple operating environments, Determine the number of replicas deployed for each of the service modules through the engineering file of the SDN controller, check the running status of the service module, and if the running status of the service module is abnormal, start the replica corresponding to the SDN controller; Determining an upgrade request for the SDN controller, performing a rolling upgrade on a version of the SDN controller according to the upgrade request, and performing an upgrade detection on the rolling upgrade; If the rolling upgrade fails, the SDN controller is rolled back to the previous version; The SDN controller deployment system also includes a monitoring management system and a log analysis system. Determining the operation status and resource usage of the container through the monitoring management system; Determine the logs generated by the container during operation through the log analysis system, and classify and analyze the logs to determine the operation report of the container; After publishing the SDN controller and determining the operating environments corresponding to the multiple service modules according to the published content of the SDN controller, According to the operating environment of the SDN controller, the image file of the SDN controller and the multiple configuration files are mounted and configured, and according to the engineering file of the SDN controller, the deployment of the distributed SDN controller system is completed, and the configuration files are managed and controlled through the SDN controller system.

Citation Information

Patent Citations

  • Delivery method and device based on Docker software and hardware integration

    CN111831396A