Operation and maintenance configuration management system based on Nacos

Through the Nacos-based operation and maintenance configuration management system, real-time synchronization and automatic deployment solve the problem of low configuration management efficiency of Nacos and Helm Chart, efficient configuration management and automated deployment are achieved, manual intervention is reduced, and system stability and operation are improved. Dimensional efficiency.

CN119201277AActive Publication Date: 2024-12-27MIYUAN (GUANGZHOU) NEW MEDIA TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411307901.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-19
Publication Date
2024-12-27
Estimated Expiration
2044-09-19

AI Technical Summary

Technical Problem

Nacos manages complex configuration items and Helm Chart configurations inefficiently and requires manual intervention.

Method used

Provide a Nacos-based operation and maintenance configuration management system, including configuration management module, version control module and automatic release and rollback module, real-time monitoring of configuration item changes and Helm Chart template updates, automatic synchronization of configuration items, generation of version records, and Automatically deploy applications in Kubernetes clusters, monitor and adjust performance, and roll back abnormal situations in a timely manner.

Benefits of technology

It improves the efficiency of configuration management and system stability, reduces manual intervention, ensures configuration consistency, reduces the risk of configuration changes, and improves operation and maintenance efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201277A_ABST
    Figure CN119201277A_ABST
Patent Text Reader

Abstract

According to the operation and maintenance configuration management system based on the Nacos, when a configuration management module monitors that a user carries out configuration item changing operation in the Nacos, the changed configuration item can be synchronized to a Helm Chart template associated with the configuration item, or when the configuration management module monitors that the user carries out Helm Chart template updating operation, the configuration item in the updated Helm Chart template can be synchronized to the Nacos; the automatic release and rollback module can utilize the updated Helm Chart template to automatically deploy the application program in the Kubernetes cluster, and adopts a rollback mechanism to perform emergency processing when the preset abnormal condition of the deployed application program occurs, so that the risk of configuration change can be reduced, the stability and maintainability of the system can be improved, and the application program can be conveniently and quickly released. The operation and maintenance efficiency of the system is effectively improved; and manual intervention is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of configuration management technology, and in particular to an operation and maintenance configuration management system based on Nacos. Background Art

[0002] In modern distributed systems and microservice architectures, configuration management is an important part of operation and maintenance. Operation and maintenance configuration items and configuration files for application deployment often change, and traditional static configuration management methods are difficult to cope with complex and changing environmental requirements. As a dynamic configuration management and service discovery tool, Nacos has powerful dynamic configuration management capabilities. However, in the actual operation and maintenance process, Nacos is less efficient in managing complex configuration items and Helm Chart configurations, and manual intervention is still required. Summary of the invention

[0003] The purpose of this application is to solve at least one of the above-mentioned technical defects, especially the technical defects in the prior art that Nacos manages complex configuration items and Helm Chart configurations inefficiently and still requires manual intervention.

[0004] The present application provides an operation and maintenance configuration management system based on Nacos, the system comprising:

[0005] The configuration management module is used to synchronize the changed configuration items to the Helm Chart template associated with it when it monitors that the user performs a configuration item change operation in Nacos, or synchronize the configuration items in the updated Helm Chart template to the Nacos when it monitors that the user performs a Helm Chart template update operation;

[0006] A version control module, for generating a first version record corresponding to the changed configuration item and the Helm Chart template associated therewith when a configuration item change is detected in the Nacos, or generating a second version record corresponding to the updated Helm Chart template and the configuration item synchronized to the Nacos when a Helm Chart template update is detected;

[0007] The automatic release and rollback module is used to automatically deploy applications in the Kubernetes cluster using the updated HelmChart template when a Helm Chart template update is detected, monitor and adjust the performance and status of the deployed applications, and use the rollback mechanism for emergency processing when a preset abnormal situation occurs in the deployed applications.

[0008] Optionally, the system further comprises:

[0009] The permission management module is used to manage user permissions for configuration, viewing, modification, publishing, and rollback operations;

[0010] The log audit module is used to record detailed logs of each configuration item change, release, and rollback, and provide users with viewing and management.

[0011] Optionally, the configuration management module includes a configuration item extraction module and a configuration synchronization module;

[0012] The configuration item extraction module is used to determine the configuration item of the change when monitoring the user performing a configuration item change operation in Nacos, or scan and extract the configuration items in the updated Helm Chart template when monitoring the user performing a Helm Chart template update operation;

[0013] The configuration synchronization module is used to inject the changed configuration items as parameters into the HelmChart template associated therewith, and dynamically render the parameters through the Helm Chart template, or map the extracted configuration items to the Nacos according to predefined mapping rules.

[0014] Optionally, the configuration synchronization module includes a configuration item and template association module and a synchronization policy management module;

[0015] The configuration item and template association module is used to add an environment tag to the changed configuration item, or to add an environment tag to the updated Helm Chart template, and determine the Helm Chart template associated with the changed configuration item and the configuration item in Nacos associated with the updated Helm Chart template according to the association relationship between each configuration item in Nacos and the Helm Chart template pre-stored in the database, and the respective environment tags;

[0016] The synchronization policy management module is used to determine a first synchronization priority and policy according to the environment label of the changed configuration item, and inject the changed configuration item as a parameter into the Helm Chart template associated therewith according to the first synchronization priority and policy, and dynamically render the parameter through the Helm Chart template, or determine a second synchronization priority and policy according to the environment label of the updated Helm Chart template, and map the extracted configuration item to the Nacos according to the second synchronization priority and policy and a predefined mapping rule.

[0017] Optionally, the version control module further includes a version data storage module and a version classification module;

[0018] The version data storage module is used to obtain the description information provided when changing the configuration item or updating the Helm Chart template, as well as the change information and metadata related to the first version record or the second version record, and store the description information, change information and metadata corresponding to the version generated this time in the version control database;

[0019] The version classification module is used to classify configuration items and Helm Chart templates in different versions of Nacos according to preset classification rules, and independently manage configuration versions under different classifications, and configure the same or different synchronization priorities and strategies.

[0020] Optionally, the version control module further includes a difference comparison module;

[0021] The difference comparison module is used to compare and display the configuration differences between different versions, and supports text and structured data comparison, as well as to evaluate the impact scope and risk level based on the configuration change information, and to issue early warning prompts based on the evaluation results.

[0022] Optionally, the automatic publishing and rollback module includes an automatic publishing module and a version rollback module;

[0023] The automatic publishing module is used to automatically deploy the application in the Kubernetes cluster using the updated Helm Chart template according to a preset deployment method when a Helm Chart template update is detected, and to monitor and adjust the performance and status of the deployed application;

[0024] The version rollback module is used to determine a corresponding rollback strategy according to the preset abnormal situation when a preset abnormal situation occurs in the deployed application, and perform emergency processing on the abnormal application according to the preset rollback execution process and the rollback strategy.

[0025] Optionally, the process of the automatic publishing module monitoring and adjusting the performance and status of the deployed application program includes:

[0026] The automatic publishing module performs multi-dimensional monitoring of the performance and status of the deployed application, and when an abnormal situation is detected in the deployed application, analyzes the abnormality type corresponding to the abnormal situation, and adjusts the system's rolling update strategy, resource configuration or traffic routing according to the abnormality type.

[0027] Optionally, the process of the automatic publishing module monitoring and adjusting the performance and status of the deployed application program further includes:

[0028] When the automatic publishing module detects that any Pod or node has a fault due to a configuration change, it performs remediation according to the preset fault self-healing and automatic remediation measures;

[0029] Furthermore, the automatic publishing module uses a machine learning model to predict the performance impact of configuration items after updating, and automatically optimizes the update strategy based on the prediction results.

[0030] Optionally, the process of the version rollback module performing emergency processing on the abnormal application program according to the preset rollback execution process and the rollback strategy includes:

[0031] The version rollback module performs conflict detection and dependency detection before executing the rollback, uses atomic operations to control version updates during the execution of the rollback strategy, manages the order and dependencies of concurrent rollback operations in a distributed environment, and notifies relevant personnel of the operation progress and results after real-time log recording. After the rollback is completed, a health check is performed on the rolled-back application, and feedback and experience data from end users are collected.

[0032] It can be seen from the above technical solutions that the embodiments of the present application have the following advantages:

[0033] The present application provides an operation and maintenance configuration management system based on Nacos. When the configuration management module monitors that a user performs a configuration item change operation in Nacos, the changed configuration item can be synchronized to the Helm Chart template associated therewith, or, when the user performs a Helm Chart template update operation, the configuration item in the updated Helm Chart template can be synchronized to Nacos; this can ensure that the configuration items in Nacos are consistent with the configuration of the Helm Chart template, thereby avoiding problems caused by inconsistent environment configuration; the version control module can generate a first version record corresponding to the changed configuration item and the Helm Chart template associated therewith when a configuration item change is detected in Nacos, or, when a Helm Chart template update is detected, a second version record corresponding to the updated Helm Chart template and the configuration item synchronized to Nacos is generated; and the automatic release and rollback module can use the updated Helm Chart template to synchronize the configuration items in Nacos when a Helm Chart template update is detected. The Chart template automatically deploys applications in the Kubernetes cluster, monitors and adjusts the performance and status of the deployed applications, and uses a rollback mechanism for emergency handling when preset abnormal situations occur in the deployed applications. This can not only reduce the risk of configuration changes, but also improve the stability and maintainability of the system, thereby effectively improving the system's operation and maintenance efficiency and reducing manual intervention. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the embodiments of the present application 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 only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0035] Figure 1 A schematic diagram of the structure of an operation and maintenance configuration management system based on Nacos provided in an embodiment of the present application;

[0036] Figure 2 A schematic diagram of the structure of another Nacos-based operation and maintenance configuration management system provided in an embodiment of the present application;

[0037] Figure 3 A schematic diagram of the structure of the configuration management module provided in the embodiment of the present application;

[0038] Figure 4 A schematic diagram of the structure of the automatic publishing and rollback module provided in an embodiment of the present application. DETAILED DESCRIPTION

[0039] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. 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 creative work are within the scope of protection of this application.

[0040] In one embodiment, Figure 1 As shown, Figure 1 A schematic diagram of the structure of an operation and maintenance configuration management system based on Nacos provided in an embodiment of the present application; the present application provides an operation and maintenance configuration management system based on Nacos, and the system may include:

[0041] The configuration management module is used to synchronize the changed configuration items to the Helm Chart template associated with it when it monitors that the user performs a configuration item change operation in Nacos, or synchronize the configuration items in the updated Helm Chart template to the Nacos when it monitors that the user performs a Helm Chart template update operation.

[0042] The version control module is used to generate a first version record corresponding to the changed configuration item and the Helm Chart template associated therewith when a configuration item change is detected in the Nacos, or to generate a second version record corresponding to the updated Helm Chart template and the configuration item synchronized to the Nacos when a Helm Chart template update is detected.

[0043] The automatic release and rollback module is used to automatically deploy applications in the Kubernetes cluster using the updated HelmChart template when a Helm Chart template update is detected, monitor and adjust the performance and status of the deployed applications, and use the rollback mechanism for emergency processing when a preset abnormal situation occurs in the deployed applications.

[0044] In this embodiment, since the existing Nacos is a dynamic configuration management and service discovery tool, in the actual operation and maintenance process, the management efficiency of complex configuration items and Helm Chart configuration is low, and manual intervention is still required. Therefore, the operation and maintenance configuration management system of this application may at least include a configuration management module, a version control module, and an automatic release and rollback module, so that the configuration items in Nacos can be configured or the Helm Chart template can be updated through the configuration management module, and the version control module can be used to generate a version record after each configuration item change. The automatic release and rollback module can also be used to automatically deploy applications in the Kubernetes cluster, and the rollback mechanism can be used for emergency handling when an abnormality occurs in the deployed application.

[0045] To elaborate, the configuration management module of the present application can monitor the configuration item change events in Nacos in real time. When the user modifies or creates a new configuration item, the listener will immediately capture the change event and trigger the automatic update process. At this time, the configuration management module can automatically apply these updates to the associated Helm Chart template, thereby ensuring the accuracy and consistency of configuration synchronization and improving the efficiency and reliability of operation and maintenance management. Furthermore, the configuration management module of the present application can also monitor the update events of the Helm Chart template in real time. When the user updates the Helm Chart template, the listener will also immediately capture the update event and trigger the automatic update process. At this time, the configuration management module can also synchronize the configuration items in the updated HelmChart template to Nacos, thereby forming Nacos configuration items, which can also ensure the accuracy and consistency of configuration synchronization, and provide users with a variety of update or change methods, which is convenient for user operation and greatly improves the convenience and efficiency of the system.

[0046] Since this application uses the configuration management module to update configuration items, when the configuration items are updated frequently, or when an exception occurs after the application is deployed using the updated configuration items, it is impossible to perform operation and maintenance in time. Based on this, this application sets up a version control module, which can generate a first version record corresponding to the changed configuration item and the Helm Chart template associated with it when a configuration item change is detected in Nacos, or, when a Helm Chart template update is detected, a second version record corresponding to the updated Helm Chart template and the configuration item synchronized to Nacos is generated. Among them, the first version record here refers to the version record generated when the configuration item is changed through Nacos, and the second version record here refers to the version record generated by updating the Helm Chart template. For example, in this application, each time the user modifies the Nacos configuration item or Helm Chart template, the system will automatically generate a new version number and save the relevant change information and metadata. The version number can be generated using a timestamp or an incremental serial number, such as v1.0.0, v1.0.1, etc., or it can be generated in other ways. It can be set according to the actual situation and is not limited here.

[0047] Furthermore, when the present application detects that the user has modified the Nacos configuration items or the Helm Chart template, it can not only synchronize the Nacos configuration items with the corresponding Helm Chart template, or synchronize the configuration items in the updated Helm Chart template to Nacos, but also automatically deploy the application in the Kubernetes cluster through the automatic release and rollback module, and use the rollback mechanism for emergency handling when an abnormality occurs in the deployed application.

[0048] Specifically, the automatic release and rollback module in the present application can automatically deploy applications in the Kubernetes cluster using the updated Helm Chart template when an update of the Helm Chart template is detected, and monitor the performance and status of the deployed application. When the performance or status of the deployed application does not meet expectations or there are security risks, adaptive adjustments can be made in a timely manner. The adaptive adjustment process does not rely entirely on the rollback mechanism. It includes a series of intelligent adjustment mechanisms, such as automated rolling update strategy adjustment, dynamic resource adjustment, etc., to ensure the stability of the application after the configuration change. When a preset abnormal situation occurs in the deployed application, the rollback mechanism can be used for emergency processing, thereby further ensuring the stability of the application.

[0049] In addition, the automatic release and rollback module can be deployed in a variety of ways when using the updated Helm Chart template to automatically deploy applications in the Kubernetes cluster, such as using Kubernetes native tools in combination with Helm, or using continuous integration / continuous deployment (CI / CD) tools to integrate with Kubernetes, and of course, monitoring and rollback strategies can also be used. In a specific implementation, this application can be dynamically configured and automatically deployed in the following ways, as follows:

[0050] Dynamic configuration management: When Nacos configuration items are updated, the system automatically updates these configuration items to the corresponding Helm Chart template through the configuration management module. The Helm Chart template will automatically re-render according to the configuration changes of Nacos and generate the latest Kubernetes resource definition files (such as Deployment, Service, ConfigMap, etc.). These resource definition files are automatically applied by the Kubernetes cluster to complete the dynamic update of the application.

[0051] Automated deployment management: Applications updated through Helm Chart can be automatically deployed in the Kubernetes cluster. Whenever the Helm Chart template is updated, the system will trigger the automated deployment process and apply the new template to the specified Kubernetes namespace for seamless rolling updates or blue-green deployments.

[0052] In the above embodiment, when the configuration management module monitors that the user performs a configuration item change operation in Nacos, the changed configuration item can be synchronized to the Helm Chart template associated therewith, or, when the user performs a Helm Chart template update operation, the configuration item in the updated Helm Chart template can be synchronized to Nacos; this can ensure that the configuration items in Nacos are consistent with the configuration of the Helm Chart template, thereby avoiding problems caused by inconsistent environment configuration; the version control module can generate a first version record corresponding to the changed configuration item and the Helm Chart template associated therewith when detecting a configuration item change in Nacos, or, when detecting an update to the Helm Chart template, generate a second version record corresponding to the updated Helm Chart template and the configuration item synchronized to Nacos; and the automatic release and rollback module can use the updated Helm Chart template to synchronize the configuration items in Nacos when detecting an update to the Helm Chart template. The Chart template automatically deploys applications in the Kubernetes cluster, monitors and adjusts the performance and status of the deployed applications, and uses a rollback mechanism for emergency handling when preset abnormal situations occur in the deployed applications. This can not only reduce the risk of configuration changes, but also improve the stability and maintainability of the system, thereby effectively improving the system's operation and maintenance efficiency and reducing manual intervention.

[0053] In one embodiment, Figure 2 As shown, Figure 2 A schematic diagram of the structure of another Nacos-based operation and maintenance configuration management system provided in an embodiment of the present application; the system may also include:

[0054] The permission management module is used to manage user permissions for configuration, viewing, modification, publishing, and rollback operations.

[0055] The log audit module is used to record detailed logs of each configuration item change, release, and rollback, and provide users with viewing and management.

[0056] In this embodiment, the system may include not only a configuration management module, a version control module, and an automatic publishing and rollback module, but also a permission management module and a log audit module. Among them, the permission management module can manage user permissions for configuration, viewing, modification, publishing, and rollback operations, ensuring that only authorized users can operate specific configuration items, so as to improve the risk management and control capabilities of the system, reduce the risk of configuration changes, and thus improve the stability and maintainability of the system. The log audit module can record each user's operations in detail, including creation, modification, publishing, and rollback, etc., to facilitate administrators to audit and trace the system.

[0057] For example, during the configuration synchronization process, the log audit module in this application can record the log of each synchronization operation in detail, including which configuration items are updated, which Helm Chart is applied to which environment, whether the synchronization is successful, etc. These logs can be audited by operation and maintenance personnel and investigated when anomalies occur. Among them, when the log audit module records the log of each synchronization operation, the recorded information includes but is not limited to the time, operator, target version, result, and other information of each rollback operation. In addition, the log audit module of this application can also generate an audit report for the rollback operation for management and audit departments to review to ensure compliance.

[0058] In one embodiment, Figure 3 As shown, Figure 3 A structural diagram of a configuration management module provided in an embodiment of the present application; the configuration management module may include a configuration item extraction module and a configuration synchronization module.

[0059] The configuration item extraction module is used to determine the configuration items of this change when monitoring the user performing a configuration item change operation in Nacos, or scan and extract the configuration items in the updated Helm Chart template when monitoring the user performing a Helm Chart template update operation.

[0060] The configuration synchronization module is used to inject the changed configuration items as parameters into the HelmChart template associated therewith, and dynamically render the parameters through the Helm Chart template, or map the extracted configuration items to the Nacos according to predefined mapping rules.

[0061] In this embodiment, when the configuration management module performs synchronous update on the configuration items in Nacos or the configuration items in the updated Helm Chart template, it can be performed through the configuration item extraction module and the configuration synchronization module respectively.

[0062] Specifically, the configuration item extraction module of the present application can not only extract the changed configuration items when the configuration items in Nacos are changed, but also extract the configuration items in the updated Helm Chart template when the Helm Chart template is updated. For example, when the configuration item extraction module monitors the user performing a configuration item change operation in Nacos, it can determine the configuration items that have been changed this time, or, when it monitors the user performing a Helm Chart template update operation, it can scan and extract the configuration items in the updated Helm Chart template, and then use the configuration synchronization module to synchronize and update the extracted configuration items.

[0063] In this application, after the configuration synchronization module receives the configuration item extracted by the configuration item extraction module, if the configuration item is extracted from Nacos, the configuration item can be injected as a parameter into the associated Helm Chart template, and the Helm Chart template will dynamically render these parameters to ensure that the configuration in the template is consistent with the configuration in Nacos. Moreover, this process of parameter injection and template rendering is real-time and can be automatically triggered every time the Nacos configuration changes. If the configuration item is scanned and extracted from the Helm Chart template, these configuration items can be mapped to the corresponding configuration items in Nacos according to predefined mapping rules. For example, this application can map the database connection string in the Helm Chart template to the database configuration item of Nacos, thereby ensuring the accuracy and consistency of configuration synchronization.

[0064] In one embodiment, the configuration synchronization module may include a configuration item and template association module and a synchronization policy management module.

[0065] The configuration item and template association module is used to add an environment tag to the changed configuration item, or to add an environment tag to the updated Helm Chart template, and determine the Helm Chart template associated with the changed configuration item and the configuration item in Nacos associated with the updated Helm Chart template according to the association relationship between each configuration item in Nacos and the Helm Chart template pre-stored in the database, and the respective environment tags.

[0066] The synchronization policy management module is used to determine a first synchronization priority and policy according to the environment label of the changed configuration item, and inject the changed configuration item as a parameter into the Helm Chart template associated therewith according to the first synchronization priority and policy, and dynamically render the parameter through the Helm Chart template, or determine a second synchronization priority and policy according to the environment label of the updated Helm Chart template, and map the extracted configuration item to the Nacos according to the second synchronization priority and policy and a predefined mapping rule.

[0067] In this embodiment, the configuration management module can not only ensure that each modified Nacos configuration item can be seamlessly applied to the corresponding Helm Chart template, or the configuration items in the Helm Chart template can be directly mapped to Nacos, but also support configuration synchronization operations in different environments. For example, the configuration of the development environment and the production environment can be managed separately to avoid configuration conflicts.

[0068] Based on this, the configuration synchronization module of the present application may include a configuration item and template association module and a synchronization policy management module. Among them, the configuration item and template association module can add environmental tags to the changed configuration items during the synchronization configuration process, or add environmental tags to the updated Helm Chart templates, such as "development", "testing", "production" and other tags. The system uses these tags to identify the rings to which the configuration items and Helm Chart templates belong. When the Nacos configuration items change, the system will automatically match and locate the Helm Chart templates in the corresponding environment according to the environment tags of the configuration items.

[0069] For example, in this application, the system can maintain a template association database that stores the association between each configuration item in Nacos and the corresponding Helm Chart template. Whenever a configuration item changes, the system will query the database to find the associated Helm Chart template and apply the change to the correct template, or find the configuration item in Nacos associated with the updated Helm Chart template and map the configuration item in the updated Helm Chart template to Nacos.

[0070] In this process, synchronization configuration operations can also be performed through the synchronization policy management module. The synchronization policy management module of the present application can determine the first synchronization priority and strategy according to the environment label of the changed configuration item, and inject the changed configuration item as a parameter into the Helm Chart template associated with it according to the first synchronization priority and strategy, and dynamically render the parameter through the Helm Chart template, or, it can determine the second synchronization priority and strategy according to the environment label of the updated Helm Chart template, and map the extracted configuration items to Nacos according to the second synchronization priority and strategy and predefined mapping rules.

[0071] It is understandable that in this application, users can configure synchronization priorities and policies for each environment. For example, the synchronization of the production environment can be set to "manual confirmation" and the synchronization of the development environment can be set to "automatic application". In automatic synchronization mode, each time the Helm Chart template is updated, the system automatically synchronizes the new configuration items to Nacos; in manual synchronization mode, users can select the configuration items to be synchronized and synchronize the selected configuration items. This policy management can not only ensure that the configuration synchronization operations in different environments meet actual needs, but also reduce the risk of errors and misoperations.

[0072] Through the above embodiments, the system can intelligently identify and manage the association between Nacos configuration items and HelmChart templates in different environments, ensure the accuracy and consistency of configuration synchronization, and effectively improve the efficiency and reliability of operation and maintenance management.

[0073] In one embodiment, the version control module may further include a version data storage module and a version classification module.

[0074] The version data storage module is used to obtain the description information provided when changing the configuration item or updating the Helm Chart template, as well as the change information and metadata related to the first version record or the second version record, and store the description information, change information and metadata corresponding to the version generated this time in the version control database.

[0075] The version classification module is used to classify configuration items and Helm Chart templates in different versions of Nacos according to preset classification rules, and independently manage configuration versions under different classifications, and configure the same or different synchronization priorities and strategies.

[0076] In this embodiment, the version control module can not only create a new version record each time the configuration is changed, so that users can view and compare historical versions, but also include a version data storage module and a version classification module. The version data storage module can be used to save the version information generated after each change, and the version classification module can be used to classify and manage different versions, thereby effectively improving the efficiency of operation and maintenance management.

[0077] Among them, the version data storage module of the present application can obtain the description information provided when changing the configuration item or updating the Helm Chart template, as well as the change information and metadata related to the first version record or the second version record, and store the description information, change information and metadata corresponding to the version generated this time in the version control database. It can be understood that each time the Nacos configuration item or Helm Chart template is modified in the present application, the system will automatically generate a new version number and save the relevant change information and metadata. In addition, each time a change is submitted, the user can also be required to provide a description of the change, including the content of the change, the reason and the scope of the impact, for subsequent tracking and auditing. After obtaining the description information provided when changing the configuration item or updating the Helm Chart template, as well as the change information and metadata related to the first version record or the second version record, the description information, change information and metadata (such as the modifier, modification time, associated services, environment, etc.) of each version can be stored in the version control database, and the version control database supports fast query and retrieval for subsequent analysis.

[0078] The version classification module of this application can classify the configuration items and Helm Chart templates in different versions of Nacos according to the preset classification rules, manage the configuration versions under different classifications independently, and configure the same or different synchronization priorities and strategies. For example, this application can classify the versions of configuration items into the following types:

[0079] Service type classification: If the application is a web service, the Helm Chart template can be classified as a "web service" class. If the application is a database service, the template can be classified as a "database service" class. This classification can help operation and maintenance personnel quickly find templates suitable for specific service types and manage them accordingly.

[0080] Environment classification: This application can classify templates into environments such as "development", "testing", and "production", so that users can more easily manage and apply configuration items in different environments. In addition, configuration versions in different environments (development, testing, and production) can be managed independently to avoid mutual interference.

[0081] Architecture classification: For example, application templates of microservice architecture can be classified as "microservices", while applications of monolithic architecture can be classified as "monolithic applications". These classifications can help operation and maintenance personnel better manage different types of applications and find suitable templates more quickly when updating or migrating.

[0082] In addition, this application also supports configuring the same or different synchronization priorities and strategies for configuration versions under different categories. For example, for configuration versions under environment classification, this application can support synchronizing stable configuration versions from low-level environments to high-level environments (such as from testing to production), and perform necessary verification before synchronization. Of course, this application can also configure the same or different synchronization priorities and strategies in other ways, which can be set according to actual conditions and are not limited here.

[0083] In one embodiment, the version control module may further include a difference comparison module.

[0084] The difference comparison module is used to compare and display the configuration differences between different versions, and supports text and structured data comparison, as well as to evaluate the impact scope and risk level based on the configuration change information, and to issue early warning prompts based on the evaluation results.

[0085] In this embodiment, the version control module may also include a difference comparison module, which may provide an intuitive difference comparison tool to display the configuration differences between different versions, thereby helping operation and maintenance personnel understand the specific modifications. For example, the present application may highlight newly added, modified, and deleted configuration items on the interface so that operation and maintenance personnel can quickly view the comparison differences, and may also support the comparison of text and structured data. In addition, the present application may also automatically assess the possible impact scope and risk level based on the configuration change content, and provide early warning information based on the assessment results, thereby improving the efficiency of operation and maintenance management.

[0086] In one embodiment, Figure 4 As shown, Figure 4 A structural diagram of the automatic publishing and rollback module provided in an embodiment of the present application; the automatic publishing and rollback module may include an automatic publishing module and a version rollback module.

[0087] The automatic publishing module is used to automatically deploy the application in the Kubernetes cluster using the updated Helm Chart template according to a preset deployment method when a Helm Chart template update is detected, and to monitor and adjust the performance and status of the deployed application.

[0088] The version rollback module is used to determine a corresponding rollback strategy according to the preset abnormal situation when a preset abnormal situation occurs in the deployed application, and perform emergency processing on the abnormal application according to the preset rollback execution process and the rollback strategy.

[0089] In this embodiment, the automatic release and rollback module may include an automatic release module and a version rollback module. Among them, the automatic release module can automatically deploy the application in the Kubernetes cluster using the updated Helm Chart template according to the preset deployment method when the Helm Chart template is detected to be updated, and monitor and adjust the performance and status of the deployed application. The version rollback module can determine the corresponding rollback strategy according to the preset abnormal situation when the preset abnormal situation occurs in the deployed application, and perform emergency processing on the abnormal application according to the preset rollback execution process and the rollback strategy. This process, combined with the operation and maintenance monitoring tool, can automatically detect the impact of the configuration item change and make adaptive adjustments, thereby reducing the impact of manual operations on the system.

[0090] Among them, the automatic publishing module of the present application can include the following processing methods when automatically deploying the application in the Kubernetes cluster using the updated Helm Chart template according to the preset deployment method:

[0091] Preconfigured Helm Chart templates: This application can provide optimized Helm Chart templates that comply with industry best practices. These templates can contain standard service configurations, resource restrictions, security policies, etc. Users can directly use these standardized templates to deploy applications to ensure the consistency and reliability of deployment.

[0092] Template library and version control: This application can also establish a Helm Chart template library, which contains different versions of standardized templates. Users can choose the appropriate version for deployment as needed, and the template library can be continuously updated and optimized over time.

[0093] Automated scripts: This application can also be combined with CI / CD (continuous integration / continuous delivery) tools to provide automated deployment scripts that can automatically select the appropriate Helm Chart template, perform parameterized configuration, and complete the deployment of the application.

[0094] After the application is automatically deployed, the automatic publishing module of this application can also monitor and adjust the performance and status of the deployed application, such as real-time indicator monitoring, log monitoring, etc. When an abnormality is monitored, the pre-configured adjustment strategy can be used for adaptive adjustment. The adaptive adjustment process does not completely rely on the version rollback module. It includes a series of intelligent adjustment mechanisms to ensure the stability of the application after the configuration change. When the deployed application encounters a preset abnormal situation, this application will determine the corresponding rollback strategy through the version rollback module, and perform emergency processing on the abnormal application according to the preset rollback execution process and rollback strategy.

[0095] Through the above intelligent monitoring and adaptive adjustment mechanism, the system can automatically detect and respond to possible impacts after configuration item changes, ensuring the stable operation of the application. Operation and maintenance personnel can also understand the adjustment process and results through the detailed reports generated by the system, and perform manual intervention when necessary.

[0096] In one embodiment, the process of the automatic publishing module monitoring and adjusting the performance and status of the deployed application may include:

[0097] The automatic publishing module performs multi-dimensional monitoring of the performance and status of the deployed application, and when an abnormal situation is detected in the deployed application, analyzes the abnormality type corresponding to the abnormal situation, and adjusts the system's rolling update strategy, resource configuration or traffic routing according to the abnormality type.

[0098] In this embodiment, in order to ensure the stability of the application after each configuration item change, the system integrates an operation and maintenance monitoring tool and automatically detects the impact of the change through the following mechanisms:

[0099] Automated monitoring and alerting:

[0100] Real-time indicator monitoring: The system integrates monitoring tools such as Prometheus and Grafana, which can collect key application indicators (such as CPU, memory, network latency, request error rate, etc.) in real time. Whenever the Nacos configuration items or Helm Chart templates are updated, the monitoring tools will continue to observe the changes in these indicators to determine the health of the application.

[0101] Log monitoring and analysis: The system can also be combined with the ELK (Elasticsearch, Logstash, Kibana) stack for log monitoring and real-time analysis of application operation logs. If errors, anomalies, or signs of performance degradation appear in the logs after the update, the system will automatically trigger an alarm.

[0102] Service availability monitoring: The system can also check the service availability of the application by integrating service monitoring tools such as Pingdom or Zabbix. If a service interruption or response time exceeds the limit, the system will immediately notify the operation and maintenance personnel and start the adaptive adjustment process.

[0103] When the automatic publishing module detects an abnormality, it can make adaptive adjustments in the following ways. The specific adaptive adjustment process is as follows:

[0104] Automatic rolling update strategy adjustment: If the updated application has performance issues or service interruptions, the system will first check the current rolling update strategy. For example, if the update speed is too fast and resources are insufficient, the system will automatically slow down the rolling update speed or increase resource quotas (such as increasing the number of replicas, adjusting resource limits) to ensure smooth operation of the application.

[0105] Dynamic resource adjustment: This application can also dynamically adjust the resource usage of the application through tools such as HPA (Horizontal Pod Autoscaler). For example, if the updated configuration causes an increase in the load of certain services, the system will automatically expand the number of Pod copies of the service to cope with the increased traffic.

[0106] Traffic routing adjustment: In the blue-green deployment or canary release mode, the system can also intelligently adjust the traffic routing. If a new configuration item causes a problem, the system will automatically direct the traffic back to the old version of the instance to reduce the impact on users. This process is automatically performed in the Kubernetes service mesh without manual intervention.

[0107] In one embodiment, the process of the automatic publishing module monitoring and adjusting the performance and status of the deployed application may also include:

[0108] When the automatic publishing module detects that any Pod or node fails due to a configuration change, it performs remediation according to the preset fault self-healing and automatic remediation measures.

[0109] Furthermore, the automatic publishing module uses a machine learning model to predict the performance impact of configuration items after updating, and automatically optimizes the update strategy based on the prediction results.

[0110] In this embodiment, the automatic publishing module can not only adjust the deployed application through the above-mentioned adaptive adjustment process, but also perform adaptive adjustment through fault self-healing and automatic remediation mechanism and prediction and optimization mechanism based on machine learning. Specifically, it includes the following:

[0111] Fault self-healing and automated remediation mechanisms: If a Pod or node fails due to a configuration change, Kubernetes can automatically restart the failed Pod or migrate the workload to a healthy node. The system can also configure automated remediation measures, such as automatically repairing affected configuration items or restarting related services to reduce the impact on users.

[0112] Prediction and optimization mechanism based on machine learning: The system can also use machine learning models to predict the performance impact of configuration item updates and automatically optimize update strategies. For example, the system can predict based on historical data that a certain type of configuration update will have a negative impact on performance, and adjust related parameters in advance to avoid problems.

[0113] Through the above-mentioned intelligent monitoring and adaptive adjustment mechanism, the system can automatically detect and respond to possible impacts after configuration items are changed, ensuring the stable operation of the application.

[0114] In one embodiment, the process of the version rollback module performing emergency processing on an abnormal application according to a preset rollback execution process and the rollback strategy may include:

[0115] The version rollback module performs conflict detection and dependency detection before executing the rollback, uses atomic operations to control version updates during the execution of the rollback strategy, manages the order and dependencies of concurrent rollback operations in a distributed environment, and notifies relevant personnel of the operation progress and results after real-time log recording. After the rollback is completed, a health check is performed on the rolled-back application, and feedback and experience data from end users are collected.

[0116] In this embodiment, when the version rollback module detects that a preset abnormal situation occurs in a deployed application, it can determine a corresponding rollback strategy according to the preset abnormal situation, and perform emergency processing on the abnormal application according to the preset rollback execution process and rollback strategy. The specific execution steps are as follows:

[0117] Error Detection and Classification:

[0118] 1. Real-time monitoring: The system can integrate monitoring modules to monitor application running status, logs and performance indicators in real time, and detect anomalies and errors in a timely manner.

[0119] 2. Error classification:

[0120] Configuration error: Application abnormality caused by configuration item errors, such as parameter configuration errors, missing necessary configurations, etc.

[0121] Application errors: Errors caused by code defects or external dependencies.

[0122] Environmental errors: problems caused by changes in the operating environment or insufficient resources.

[0123] 3. Automatic identification: The system automatically identifies the error type and locates the possible root cause through preset rules and machine learning algorithms.

[0124] Furthermore, when formulating a rollback strategy, the present application can formulate it based on the error type, and can also automatically and manually roll back, as follows:

[0125] 1. Rollback decision based on error type:

[0126] Configuration error rollback: When a configuration error is detected, the system can automatically find the most recent stable configuration version. For example, if the new version of the database connection is incorrectly configured, the system can roll back to the last configuration version that successfully connected to the database.

[0127] Application error rollback: For errors caused by application code, the system can notify the development team and roll back the relevant deployment version when necessary.

[0128] Environmental error handling: In response to environmental issues, the system may need to adjust resource configuration or notify the infrastructure team to handle the issue rather than simply rolling back the configuration.

[0129] Multi-level rollback: Supports a step-by-step rollback mechanism, starting from the most recent version and gradually rolling back until the problem is resolved.

[0130] 2. Automatic and manual rollback:

[0131] Automatic rollback: For high-risk errors or problems with a large impact, the system can automatically trigger a rollback operation after detecting the anomaly.

[0132] Manual rollback: Provides an option for operation and maintenance personnel to manually trigger a rollback, which is suitable for scenarios that require manual evaluation.

[0133] After the rollback strategy is determined, the application can perform emergency processing on abnormal applications according to the preset rollback execution process and rollback strategy. The specific rollback execution process is as follows:

[0134] Rollback execution process:

[0135] 1. Pre-check verification:

[0136] Conflict detection: Before performing a rollback, the system can check the compatibility of the target version with the current environment to avoid rollback failures due to environmental changes.

[0137] Dependency verification: The system can also ensure that the rolled back configuration version matches the relevant services and dependencies to avoid introducing new problems.

[0138] 2. Rollback implementation:

[0139] Atomic operations: The rollback process can use atomic operations to ensure that either all operations are successful or the status quo is not changed, thus preventing partial updates.

[0140] Concurrency control: In a distributed environment, the system can manage the order and dependencies of concurrent rollback operations to ensure overall consistency.

[0141] Notification and log: During the rollback operation, the system can record logs in real time and notify relevant personnel of the operation progress and results.

[0142] 3. Subsequent verification:

[0143] Health check: After the rollback is complete, the system can automatically perform a health check to verify that the application has resumed normal operation.

[0144] Monitoring and observation: The system can also continuously monitor the application status to ensure that the problem is completely resolved and no new anomalies are generated.

[0145] User feedback: The system can also collect feedback and experience data from end users to further verify the rollback effect.

[0146] 4. Rollback tool and interface:

[0147] Visual operation interface:

[0148] Version selection: Display all historical versions on the interface, and provide search and filter functions to facilitate quick location of the target version.

[0149] One-click rollback: Provides a one-click rollback button to simplify the operation process and improve response speed.

[0150] Status display: Real-time display of rollback progress and status, including success, failure, and in progress information.

[0151] 5. Permission control:

[0152] Operation permissions: Only authorized users can perform rollback operations to prevent unauthorized changes.

[0153] Approval process: For rollback operations in the production environment, an approval process can be set up to ensure the prudence of the operation.

[0154] Through the above mechanism, the system can quickly roll back to the previous stable version after the configuration is released. Therefore, it is particularly suitable for emergency handling when configuration item errors or application problems occur.

[0155] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article 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, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0156] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can refer to each other.

[0157] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. An operation and maintenance configuration management system based on Nacos, characterized in that: The system comprises: The configuration management module is used to synchronize the changed configuration items to the Helm Chart template associated with it when it monitors that the user performs a configuration item change operation in Nacos, or synchronize the configuration items in the updated Helm Chart template to the Nacos when it monitors that the user performs a Helm Chart template update operation; A version control module, for generating a first version record corresponding to the changed configuration item and the Helm Chart template associated therewith when a configuration item change is detected in the Nacos, or generating a second version record corresponding to the updated Helm Chart template and the configuration item synchronized to the Nacos when a Helm Chart template update is detected; The automatic release and rollback module is used to automatically deploy applications in the Kubernetes cluster using the updated HelmChart template when a Helm Chart template update is detected, monitor and adjust the performance and status of the deployed applications, and use the rollback mechanism for emergency processing when a preset abnormal situation occurs in the deployed applications.

2. The Nacos-based operation and maintenance configuration management system according to claim 1, characterized in that: The system further comprises: The permission management module is used to manage user permissions for configuration, viewing, modification, publishing, and rollback operations; The log audit module is used to record detailed logs of each configuration item change, release, and rollback, and provide users with viewing and management.

3. The Nacos-based operation and maintenance configuration management system according to claim 1 or 2, characterized in that: The configuration management module includes a configuration item extraction module and a configuration synchronization module; The configuration item extraction module is used to determine the configuration item of the change when monitoring the user performing a configuration item change operation in Nacos, or scan and extract the configuration items in the updated Helm Chart template when monitoring the user performing a Helm Chart template update operation; The configuration synchronization module is used to inject the changed configuration items as parameters into the Helm Chart template associated therewith, and dynamically render the parameters through the Helm Chart template, or map the extracted configuration items to the Nacos according to predefined mapping rules.

4. The Nacos-based operation and maintenance configuration management system according to claim 3, characterized in that: The configuration synchronization module includes a configuration item and template association module and a synchronization strategy management module; The configuration item and template association module is used to add an environment tag to the changed configuration item, or to add an environment tag to the updated Helm Chart template, and determine the HelmChart template associated with the changed configuration item and the configuration item in Nacos associated with the updated Helm Chart template according to the association relationship between each configuration item in Nacos and the HelmChart template pre-stored in the database, and the respective environment tags; The synchronization policy management module is used to determine a first synchronization priority and policy according to the environment label of the changed configuration item, and inject the changed configuration item as a parameter into the Helm Chart template associated therewith according to the first synchronization priority and policy, and dynamically render the parameter through the Helm Chart template, or determine a second synchronization priority and policy according to the environment label of the updated Helm Chart template, and map the extracted configuration item to the Nacos according to the second synchronization priority and policy and a predefined mapping rule.

5. The Nacos-based operation and maintenance configuration management system according to claim 1 or 2, characterized in that: The version control module also includes a version data storage module and a version classification module; The version data storage module is used to obtain the description information provided when changing the configuration item or updating the Helm Chart template, as well as the change information and metadata related to the first version record or the second version record, and store the description information, change information and metadata corresponding to the version generated this time in the version control database; The version classification module is used to classify configuration items and HelmChart templates in different versions of Nacos according to preset classification rules, and independently manage configuration versions under different classifications, and configure the same or different synchronization priorities and strategies.

6. The Nacos-based operation and maintenance configuration management system according to claim 1 or 2, characterized in that: The version control module also includes a difference comparison module; The difference comparison module is used to compare and display the configuration differences between different versions, and supports text and structured data comparison, as well as to evaluate the impact scope and risk level based on the configuration change information, and to issue early warning prompts based on the evaluation results.

7. The Nacos-based operation and maintenance configuration management system according to claim 1 or 2, characterized in that: The automatic publishing and rollback module includes an automatic publishing module and a version rollback module; The automatic publishing module is used to automatically deploy the application in the Kubernetes cluster using the updated Helm Chart template according to a preset deployment method when a Helm Chart template update is detected, and to monitor and adjust the performance and status of the deployed application; The version rollback module is used to determine a corresponding rollback strategy according to the preset abnormal situation when a preset abnormal situation occurs in the deployed application, and perform emergency processing on the abnormal application according to the preset rollback execution process and the rollback strategy.

8. The Nacos-based operation and maintenance configuration management system according to claim 7, characterized in that: The process of the automatic publishing module monitoring and adjusting the performance and status of the deployed application program includes: The automatic publishing module performs multi-dimensional monitoring of the performance and status of the deployed application, and when an abnormal situation is detected in the deployed application, analyzes the abnormality type corresponding to the abnormal situation, and adjusts the system's rolling update strategy, resource configuration or traffic routing according to the abnormality type.

9. The Nacos-based operation and maintenance configuration management system according to claim 8, characterized in that: The process of the automatic publishing module monitoring and adjusting the performance and status of the deployed application program also includes: When the automatic publishing module detects that any Pod or node has a fault due to a configuration change, it performs remediation according to the preset fault self-healing and automatic remediation measures; Furthermore, the automatic publishing module uses a machine learning model to predict the performance impact of configuration items after updating, and automatically optimizes the update strategy based on the prediction results.

10. The Nacos-based operation and maintenance configuration management system according to claim 7, characterized in that: The process in which the version rollback module performs emergency processing on abnormal application programs according to the preset rollback execution process and the rollback strategy includes: The version rollback module performs conflict detection and dependency detection before executing the rollback, uses atomic operations to control version updates during the execution of the rollback strategy, manages the order and dependencies of concurrent rollback operations in a distributed environment, and notifies relevant personnel of the operation progress and results after real-time log recording. After the rollback is completed, a health check is performed on the rolled-back application, and feedback and experience data from end users are collected.

Citation Information

Patent Citations

  • Method and device for configuring helm chart

    CN114201240A

  • GitOps service management system

    CN115686614A

  • Multi-registration center adaptation method and device, electronic equipment and storage medium

    CN116155978A

  • System and method for kubernetes multi-cluster workload rollback

    CN116521437A

  • Micro-service multidirectional management and control method and system

    CN116647591A