A method for automatically upgrading containerized cloud platforms
Through the combination of mirror warehouses, code warehouses, assembly lines and upgrade engines, the process of upgrading the cloud platform upgrade and upgrading process is automatically completed, which solves the complex and easy error among existing technologies. And reliable upgrade.
Patent Information
- Application Number
- CN202111119109.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-24
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2041-09-24
AI Technical Summary
When upgrading containerized cloud platforms, existing technology requires manual code preparation, mirroring, environment configuration, environment upgrade and upgrade verification. The process is complex and error-prone, resulting in upgrade failure or interruption.
Adopting the four components of mirror warehouse, code warehouse, assembly line, and upgrade engine, automation completes the upgrade preparation of the cloud platform, including code upgrades, mirror production and cluster upgrade. Configuration and verification upgrade.
The rapid and stable upgrade of the cloud platform has been realized, the learning costs and work efficiency of operation and maintenance personnel are reduced, and the reliability and non -interruptability of the upgrade can be ensured. Any exception can roll back to the state before the failure and output error reports.
Smart Images

Figure CN113900676B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of containerized cloud platform deployment and upgrade, and specifically provides a method for automatically upgrading a containerized cloud platform. Background Art
[0002] With the widespread application of Docker container technology and Kubenetes container orchestration technology, more and more cloud vendors are using containerization technology to deploy cloud platforms. For cloud platforms deployed using OpenStack, due to the fast iteration speed of OpenStack project versions, bug fixes and new feature launches can only be achieved through platform upgrades.
[0003] OpenStack is an open source cloud computing management platform project jointly developed and initiated by NASA (National Aeronautics and Space Administration) and Rackspace, and licensed under the Apache license. OpenStack is an open source project that aims to provide software for the construction and management of public and private clouds. OpenStack supports almost all types of cloud environments. The project goal is to provide a cloud computing management platform that is simple to implement, scalable, rich, and standardized. OpenStack versions are released every 6 months, and the order of each version is sorted according to AZ. Each version release will fix serious bugs in the community code and launch new features.
[0004] Helm is a package manager for Kubernetes developed by Deis. Helm can be used to implement software deployment, deletion, upgrade, rollback and packaging on Kubernetes, manage application dependencies, manage application versions and publish applications to software repositories. Charts is the packaging format of Helm, which contains a set of application-related Kubernetes resources. It describes a set of files for Kubernetes resources. Helm packages Kubernetes resources (such as deployments, daemonsets, services, pods or ingress, etc.) into a chart, and charts are saved to the charts repository, which stores and shares charts. Helm makes releases configurable, thereby simplifying application deployment, upgrades and maintenance in Kubernetes clusters.
[0005] OpenStack-Helm is a subproject of OpenStack. It provides a set of Helm charts for deploying OpenStack-related services on Kubernetes clusters in a simple and flexible manner. The upgrade function of helm can be used to smoothly upgrade the openstack cluster deployed by openstack-helm. Ideally, it can ensure that management and testing services are not interrupted, and can roll back to the previous release version in case of failure, thereby ensuring the reliability of cluster upgrades.
[0006] The upgrade issues of the cloud platform generally include processes such as code preparation, image creation, environment configuration, environment upgrade, and upgrade verification. Usually, each process requires a lot of code development and testing work. At the same time, the upgrade process may also fail due to basic code or image problems.
[0007] It is becoming increasingly important to synchronize community code, fix important bugs, and launch new features, while also integrating self-developed code and ultimately achieving fast and stable upgrades of the cloud platform. Summary of the invention
[0008] The present invention aims to overcome the above-mentioned deficiencies in the prior art and provides a method for automatically upgrading a containerized cloud platform with strong practicality.
[0009] The technical solution adopted by the present invention to solve its technical problem is:
[0010] A method for automatically upgrading a containerized cloud platform through four components: image repository, code repository, pipeline, and upgrade engine;
[0011] The image repository stores and manages container images required for cloud platform services;
[0012] The code warehouse stores and manages the code required for the platform and pipeline;
[0013] The pipeline uses the Jenkins service deployed on the node to execute the pipeline to perform the preparation work before the automated upgrade.
[0014] The upgrade engine presents the upgrade process and configuration to the operation and maintenance personnel by customizing a set of web applications. The operation and maintenance personnel can finally implement the work of environment configuration, environment upgrade and upgrade verification through the corresponding functions of the web page.
[0015] Furthermore, the harbor service is automatically deployed in the image repository through scripts to store and manage the docker container images required for the cloud platform services.
[0016] Furthermore, the gitlab service is automatically deployed in the code repository through scripts to store and manage the code required for cloud platform services, deployment, upgrades and pipelines.
[0017] Furthermore, deploy the Jenkins pipeline in the pipeline and import the defined pipline;
[0018] The node initialization pipeline configures the node name, specifications, and network information, creates a virtual machine on the physical machine through KVM to run the program, and adds basic node configuration;
[0019] By pulling component code to deploy the gitlab service pipeline on nodes, the code is updated to the version to be upgraded by integrating community and self-developed code;
[0020] Perform unit testing, integration testing of component codes, and functional machine performance testing after deployment to ensure the availability of the code and cluster.
[0021] Furthermore, in the pipeline, by building the basic image and each service component image to build the pipeline, the Helm-related API is called at the bottom layer to automatically complete the cloud platform service upgrade and deploy the upgrade engine Web service. The operation and maintenance personnel can intuitively add cluster-specific configurations and execute cloud platform upgrades.
[0022] Furthermore, the deployed Jenkins pipeline automatically completes the deployment of the gitlab repository and harbor image repository; completes the platform component code upgrade and completes the code unit test and integration test; completes the basic container image production, and completes the openstack related component container package image production.
[0023] Furthermore, the upgrade engine Web visualization page is used to complete the configuration of specific parameters before the upgrade according to the actual environment situation. The bottom layer sinks the above configuration into the service configuration file. By executing the Helm API, the cloud platform bottom component service upgrade is completed, and the service status and service version check scripts are executed, and the upgrade results are output to the upgrade engine log;
[0024] Complete cluster function testing and performance testing through the deployed Jenkins pipeline.
[0025] Furthermore, in the upgrade engine, by deploying a set of web applications, the cloud platform upgrade and verification process is presented to the operation and maintenance personnel in the form of a page. Finally, the operation and maintenance personnel can realize the basic configuration of the environment to be upgraded, the cloud platform openstack upgrade, upgrade verification and cluster function testing by clicking the corresponding functions of the web page.
[0026] Compared with the prior art, the method for automatically upgrading the containerized cloud platform of the present invention has the following outstanding beneficial effects:
[0027] The present invention can make the operation and maintenance personnel not pay attention to the background code implementation, and realize the preparation work required for the cloud platform upgrade by executing a series of pipelines, including openstack component code upgrade, code unit test and integration test; basic container image production, openstack related components and other container image production, output to the image warehouse and other work. Through the upgrade engine, the operation and maintenance personnel can intuitively fill in the environment variables unique to the environment to be upgraded on the web page, and then complete the smooth upgrade of the cloud platform. Finally, the basic service status and service version of the cluster after the upgrade can be checked in the upgrade engine, and the tempest functional test can be run to output the openstack cluster functional test report to verify the upgrade result and cluster availability. During the whole process, the operation and maintenance personnel only need to complete the upgrade by executing the pipeline, passing in the necessary parameters on the page, clicking the upgrade, verification, functional testing and other steps, which reduces the learning cost and work efficiency of the operation and maintenance personnel. At the same time, any abnormality in the process can be rolled back to the state before the failure and output an error report to avoid the cluster being unavailable due to the upgrade. Ensure the reliability of the upgrade. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0029] Attached Figure 1 is a flowchart of a method for automatically upgrading a containerized cloud platform;
[0030] Attached Figure 2 It is a schematic diagram of the basic functions of the pipeline in a method for automatically upgrading a containerized cloud platform;
[0031] Attached Figure 3 A schematic diagram of an upgrade engine in a method for automatically upgrading a containerized cloud platform. DETAILED DESCRIPTION
[0032] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention is further described in detail below in conjunction with specific implementation methods. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0033] A best embodiment is given below:
[0034] like Figure 1-3 As shown, a method for automatically upgrading a containerized cloud platform in this embodiment includes four components: an image repository, a code repository, a pipeline, and an upgrade engine.
[0035] The image repository stores and manages the container images required by the cloud platform services.
[0036] The code repository stores and manages the code required for the platform and pipeline.
[0037] The pipeline uses the Jenkins service deployed on the node to execute the pipeline to perform the preparation work before the automated upgrade.
[0038] The upgrade engine presents the upgrade process and configuration to the operation and maintenance personnel by customizing a set of web applications. The operation and maintenance personnel can finally implement the environment configuration, environment upgrade, and upgrade verification through the corresponding functions of the web page.
[0039] Among them, the harbor service is automatically deployed through scripts in the image repository to store and manage the docker container images required for the cloud platform services.
[0040] Automatically deploy gitlab services through scripts in the code repository to store and manage the code required for cloud platform services, deployment, upgrades, and pipelines.
[0041] In the pipeline, deploy the Jenkins pipeline and import the defined pipeline. The initial pipeline mainly includes the following:
[0042] 1) Node initialization pipeline: mainly configures the node name, specifications, network and other information, creates the virtual machine required to run the program on the physical machine through KVM, and adds the basic node configuration;
[0043] 2) Node deployment gitlab service pipeline: pull component code;
[0044] 3) Node deployment harbor service pipeline: used to store container images;
[0045] 4) Component code upgrade pipeline: Integrate community and self-developed codes and update the code to the version to be upgraded;
[0046] 5) Code testing pipeline: performs unit testing, integration testing, and functional and performance testing of component codes after deployment to ensure the availability of the code and cluster;
[0047] 6) Image building pipeline: builds the basic system image and each service component image;
[0048] 7) Cluster upgrade pipeline: Automatically upgrade cloud platform services by calling Helm-related APIs at the bottom layer;
[0049] 8) Upgrade engine Web service deployment pipeline: Deploy the upgrade engine Web service. Operation and maintenance personnel can intuitively add cluster-specific configurations and perform cloud platform upgrades.
[0050] Through the deployed Jenkins pipeline, the deployment of the gitlab repository and harbor mirror repository is automatically completed.
[0051] Through the deployed Jenkins pipeline, complete the platform component code upgrade (mainly including the community new version code and self-developed code) and complete the code unit test and integration test to ensure code availability; through the deployed Jenkins pipeline, complete the basic container image production (operating system configuration, basic software package installation), and complete the container package image production of openstack related components;
[0052] Use the upgrade engine web visualization page to complete the pre-upgrade specific parameter configuration (such as special configuration of computing nodes, GPU nodes, different backend configurations of cinder-volume, etc.) according to the actual environment situation. The bottom layer sinks the above configuration to the service configuration file. By executing the Helm API, the cloud platform bottom component service upgrade is completed, and the service status and service version check scripts are executed to output the upgrade results to the upgrade engine log;
[0053] Complete cluster function testing and performance testing (if necessary) through the deployed Jenkins pipeline to ensure that cluster functions are available after the upgrade.
[0054] In the upgrade engine, a set of web applications is deployed to present the cloud platform upgrade and verification process to the operation and maintenance personnel in the form of a page. Finally, the operation and maintenance personnel can realize the basic configuration of the environment to be upgraded, the cloud platform openstack upgrade, upgrade verification and cluster function testing by clicking the corresponding functions on the web page.
[0055] The above-mentioned specific implementations are only specific cases of the present invention. The patent protection scope of the present invention includes but is not limited to the above-mentioned specific implementations. Any appropriate changes or substitutions made by any ordinary technician in the technical field that conform to the claims of the present invention for a method for automatically upgrading a containerized cloud platform shall fall within the patent protection scope of the present invention.
[0056] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A method for automatically upgrading a containerized cloud platform, characterized in that: Through four components: image repository, code repository, pipeline, and upgrade engine; Automatically deploy harbor services through scripts in the image repository to store and manage docker container images required for cloud platform services; Automatically deploy gitlab services through scripts in the code repository, store and manage the code required for cloud platform services, deployment, upgrades and pipelines; The pipeline uses the Jenkins service deployed on the node to execute the pipeline to perform the preparation work before the automated upgrade. Further including: In the pipeline, deploy the Jenkins pipeline and import the defined pipline; The initial pipeline includes the following: 1) Node initialization pipeline: By configuring the node name, specifications, and network information, a virtual machine required to run the program is created on the physical machine through KVM, and basic node configuration is added; 2) Node deployment gitlab service pipeline: pull component code; 3) Node deployment harbor service pipeline: used to store container images; 4) Component code upgrade pipeline: Integrate community and self-developed codes and update the code to the version to be upgraded; 5) Code testing pipeline: performs unit testing, integration testing, and functional and performance testing of component codes after deployment to ensure the availability of the code and cluster; 6) Image building pipeline: builds the basic system image and images of each service component; 7) Cluster upgrade pipeline: Automatically upgrade cloud platform services by calling Helm-related APIs at the bottom layer; 8) Upgrade engine Web service deployment pipeline: Deploy the upgrade engine Web service. Operation and maintenance personnel can intuitively add cluster configuration and perform cloud platform upgrades.
2. The method for automatically upgrading a containerized cloud platform according to claim 1, characterized in that: The deployed Jenkins pipeline automatically completes the deployment of the gitlab repository and harbor image repository; completes the platform component code upgrade and completes the code unit test and integration test; completes the basic container image production, and completes the container package image production of openstack related components.
3. A method for automatically upgrading a containerized cloud platform according to claim 2, characterized in that: Complete the pre-upgrade parameter configuration based on the actual environment through the upgrade engine web visualization page. The bottom layer sinks the above configuration into the service configuration file. By executing the Helm API, complete the cloud platform bottom-level component service upgrade, execute the service status and service version check script, and output the upgrade results to the upgrade engine log; Complete cluster function testing and performance testing through the deployed Jenkins pipeline.
4. The method for automatically upgrading a containerized cloud platform according to claim 3, characterized in that: In the upgrade engine, a set of web applications is deployed to present the cloud platform upgrade and verification process to the operation and maintenance personnel in the form of a page. Finally, the operation and maintenance personnel can realize the basic configuration of the environment to be upgraded, the cloud platform openstack upgrade, upgrade verification and cluster function testing by clicking the corresponding functions on the web page.
Citation Information
Patent Citations
Micro-service deployment method for realizing DevOps based on Jenkins
CN111309441A
Private cloud platform service software deployment method and deployment device
CN112130864A
Method for automatically deploying OpenStack cloud platform assembly line
CN112882724A