An operation and maintenance configuration management system based on Nacos
By using the Nacos-based operation and maintenance configuration management system, automatic synchronization and deployment of configuration items and Helm Chart templates were achieved, solving the problem of low efficiency in managing complex configuration items in Nacos and improving system stability and operation and maintenance efficiency.
Patent Information
- Application Number
- CN202411307901.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-19
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2044-09-19
AI Technical Summary
In existing technologies, Nacos has low efficiency in managing complex configuration items and Helm Chart configuration, and requires manual intervention, making it difficult to cope with complex and ever-changing environmental requirements.
This paper provides an operation and maintenance configuration management system based on Nacos, including a configuration management module, a version control module, and an automatic deployment and rollback module. It realizes automatic synchronization of configuration items and Helm Chart templates, version recording, automatic deployment, and emergency handling, reducing manual intervention.
Ensure that configuration items are consistent with the Helm Chart template to reduce the risk of configuration changes, improve system stability and operational efficiency, and reduce manual intervention.
Smart Images

Figure CN119201277B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of configuration management technology, and in particular to an operation and maintenance configuration management system based on Nacos. Background Technology
[0002] In modern distributed systems and microservice architectures, configuration management is a crucial component of operations and maintenance (O&M). O&M configuration items and application deployment configuration files frequently change, making traditional static configuration management methods ill-suited for complex and ever-changing environmental requirements. Nacos, as a dynamic configuration management and service discovery tool, boasts powerful dynamic configuration management capabilities. However, in actual O&M practice, Nacos is inefficient at managing complex configuration items and Helm Chart configurations, and still requires manual intervention. Summary of the Invention
[0003] The purpose of this application is to at least address one of the aforementioned technical deficiencies, particularly the low efficiency of Nacos in managing complex configuration items and Helm Chart configurations in the prior art, which still requires manual intervention.
[0004] This application provides a Nacos-based operation and maintenance configuration management system, the system comprising:
[0005] The configuration management module is used to synchronize the changed configuration items to the associated Helm Chart template when it detects that a user has made a configuration item change operation in Nacos, or to synchronize the configuration items in the updated Helm Chart template to Nacos when it detects that a user has made a Helm Chart template update operation.
[0006] The version control module is used to generate a first version record corresponding to the changed configuration item and the associated Helm Chart template when a configuration item change is detected in Nacos, or to generate a second version record corresponding to the updated Helm Chart template and the configuration item synchronized to Nacos when an update of the Helm Chart template is detected.
[0007] The automatic deployment and rollback module is used to automatically deploy the application in the Kubernetes cluster using the updated Helm Chart template when an update is detected, monitor and adjust the performance and status of the deployed application, and use a rollback mechanism for emergency handling when the deployed application encounters preset abnormal conditions.
[0008] Optionally, the system further includes:
[0009] The permissions management module is used to manage user permissions for configuration, viewing, modification, publishing, and rollback operations;
[0010] The log auditing module records detailed logs for every configuration item change, release, and rollback, allowing users to view and manage them.
[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 being changed when a user performs a configuration item change operation in Nacos, or to scan and extract the configuration items in the updated Helm Chart template when a user performs a Helm Chart template update operation.
[0013] The configuration synchronization module is used to inject the changed configuration items as parameters into the associated HelmChart template, and dynamically render the parameters through the Helm Chart template, or map the extracted configuration items into Nacos according to predefined mapping rules.
[0014] Optionally, the configuration synchronization module includes a configuration item and template association module and a synchronization strategy management module;
[0015] The configuration item and template association module is used to tag the changed configuration item with an environment label, or to tag the updated Helm Chart template with an environment label, and to determine the Helm Chart template associated with the changed configuration item and the configuration item in Nacos associated with the updated Helm Chart template based on the association relationship between each Nacos configuration item and the Helm Chart template stored in the database in advance, as well as their respective environment labels.
[0016] The synchronization strategy management module is used to determine a first synchronization priority and strategy based on the environment tag of the changed configuration item, and inject the changed configuration item as a parameter into the associated Helm Chart template according to the first synchronization priority and strategy, and dynamically render the parameter through the Helm Chart template; or, it determines a second synchronization priority and strategy based on the environment tag of the updated Helm Chart template, and maps the extracted configuration item to Nacos according to the second synchronization priority and strategy and predefined mapping rules.
[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 configuration items 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 into 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 to manage the configuration versions under different categories independently, as well as to 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. It can also assess the scope of impact and risk level based on configuration change information, and issue early warnings based on the assessment results.
[0022] Optionally, the automatic release and rollback module includes an automatic release module and a version rollback module;
[0023] The automatic deployment 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 an update to the Helm Chart template is detected, and to monitor and adjust the performance and status of the deployed application.
[0024] The version rollback module is used to determine the corresponding rollback strategy based on the preset abnormal situation when the deployed application encounters a preset abnormal situation, and to perform emergency processing on the abnormal application according to the preset rollback execution process and the rollback strategy.
[0025] Optionally, the process by which the automatic deployment module monitors and adjusts the performance and status of the deployed application includes:
[0026] The automatic deployment module performs multi-dimensional monitoring of the performance and status of the deployed application. When an anomaly is detected in the deployed application, the module analyzes the anomaly type and adjusts the system's rolling update strategy, resource configuration, or traffic routing based on the anomaly type.
[0027] Optionally, the process by which the automatic deployment module monitors and adjusts the performance and status of the deployed application further includes:
[0028] When the automatic deployment module detects that any Pod or node has failed due to configuration changes, it will take remedial measures according to preset fault self-healing and automated remediation measures.
[0029] Furthermore, the automatic release module uses a machine learning model to predict the performance impact of configuration item updates and automatically optimizes the update strategy based on the prediction results.
[0030] Optionally, the process by which the version rollback module performs emergency handling of abnormal applications according to a preset rollback execution flow and the rollback strategy includes:
[0031] Before executing the rollback, the version rollback module performs conflict detection and dependency detection. During the execution of the rollback strategy, it uses atomic operations to control version updates. In a distributed environment, it manages the order and dependencies of concurrent rollback operations, records logs in real time, and notifies relevant personnel of the operation progress and results. After the rollback is completed, it performs a health check on the rolled-back application and collects feedback and experience data from end users.
[0032] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:
[0033] This application provides a Nacos-based operation and maintenance configuration management system. When the configuration management module detects a user's configuration item change operation in Nacos, it can synchronize the changed configuration item to the associated Helm Chart template. Alternatively, when it detects a user's Helm Chart template update operation, it can synchronize the configuration items in the updated Helm Chart template to Nacos. This ensures that the configuration items in Nacos are consistent with the configuration of the Helm Chart template, thereby avoiding problems caused by inconsistent environment configurations. The version control module can generate a first version record corresponding to the changed configuration item and its associated Helm Chart template when a configuration item change is detected in Nacos, or generate a second version record corresponding to the updated Helm Chart template and the configuration items synchronized to Nacos when a Helm Chart template update is detected. The automatic deployment and rollback module can utilize the updated Helm Chart template when a Helm Chart template update is detected. Chart templates automatically deploy applications in Kubernetes clusters, monitor and adjust the performance and status of deployed applications, and use a rollback mechanism for emergency handling when pre-defined exceptions occur in deployed applications. This reduces the risk of configuration changes, improves system stability and maintainability, and effectively improves system operation and maintenance efficiency while reducing manual intervention. Attached Figure Description
[0034] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0035] Figure 1 A schematic diagram of the structure of a Nacos-based operation and maintenance configuration management system provided in this application embodiment;
[0036] Figure 2 A schematic diagram of another Nacos-based operation and maintenance configuration management system provided for an embodiment of this application;
[0037] Figure 3 This is a schematic diagram of the configuration management module provided in an embodiment of this application;
[0038] Figure 4 This is a schematic diagram of the automatic publishing and rollback module provided in an embodiment of this application. Detailed Implementation
[0039] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0040] In one embodiment, such as Figure 1 As shown, Figure 1 This application provides a schematic diagram of the structure of a Nacos-based operation and maintenance configuration management system; the application provides a Nacos-based operation and maintenance configuration management system, which may include:
[0041] The configuration management module is used to synchronize the changed configuration items to the associated Helm Chart template when it detects that a user has made a configuration change operation in Nacos, or to synchronize the configuration items in the updated Helm Chart template to Nacos when it detects that a user has made 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 its associated Helm Chart template when a configuration item change is detected in Nacos, or to generate a second version record corresponding to the updated Helm Chart template and the configuration items synchronized to Nacos when an update of the Helm Chart template is detected.
[0043] The automatic deployment and rollback module is used to automatically deploy the application in the Kubernetes cluster using the updated Helm Chart template when an update is detected, monitor and adjust the performance and status of the deployed application, and use a rollback mechanism for emergency handling when the deployed application encounters preset abnormal conditions.
[0044] In this embodiment, since the existing Nacos, as a dynamic configuration management and service discovery tool, is inefficient in managing complex configuration items and Helm Chart configurations during actual operation and maintenance, manual intervention is still required. Therefore, the operation and maintenance configuration management system of this application can at least include a configuration management module, a version control module, and an automatic deployment and rollback module. This allows the configuration management module to configure configuration items in Nacos or update Helm Chart templates, the version control module to generate version records after each configuration item change, and the automatic deployment and rollback module to automatically deploy applications in the Kubernetes cluster and use a rollback mechanism for emergency handling when the deployed application encounters anomalies.
[0045] In detail, the configuration management module of this application can monitor configuration item change events in Nacos in real time. When a user modifies or creates a new configuration item, the listener immediately captures this change event and triggers an 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 this application can also monitor Helm Chart template update events in real time. When a user updates a Helm Chart template, the listener will also immediately capture this update event and trigger an automatic update process. At this time, the configuration management module can also synchronize the configuration items in the updated Helm Chart template to Nacos, thus forming Nacos configuration items. This also ensures the accuracy and consistency of configuration synchronization and provides users with multiple update or change methods, facilitating user operation and greatly improving the convenience and efficiency of the system.
[0046] Since this application uses a configuration management module to update configuration items, frequent updates or unexpected issues arising after deploying an application with updated configuration items can hinder timely maintenance. Therefore, this application includes a version control module. This module generates a first version record corresponding to the changed configuration item and its associated Helm Chart template when a configuration item change is detected in Nacos, or a second version record corresponding to the updated Helm Chart template and the configuration item synchronized to Nacos when a Helm Chart template update is detected. The first version record refers to the version record generated when a configuration item is changed through Nacos, and the second version record refers to the version record generated when a Helm Chart template is updated. For example, each time a user modifies a Nacos configuration item or Helm Chart template, the system automatically generates a new version number and saves the relevant change information and metadata. This version number can be generated using a timestamp or an incrementing sequence number, such as v1.0.0, v1.0.1, etc., or other methods, depending on the specific situation. No restrictions are imposed here.
[0047] Furthermore, when this application detects that a user has modified Nacos configuration items or Helm Chart templates, it can not only synchronize Nacos configuration items with the corresponding Helm Chart templates, or synchronize configuration items in the updated Helm Chart templates to Nacos, but also automatically deploy applications in the Kubernetes cluster through the automatic deployment and rollback module, and use a rollback mechanism for emergency handling when the deployed application encounters anomalies.
[0048] Specifically, the automatic deployment and rollback module in this application can automatically deploy the application in the Kubernetes cluster using the updated Helm Chart template when an update 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 when there are security risks, timely adaptive adjustments can be made. This adaptive adjustment process does not rely entirely on the rollback mechanism; it includes a series of intelligent adjustment mechanisms, such as automatic rolling update strategy adjustments and dynamic resource adjustments, to ensure the stability of the application after configuration changes. When the deployed application encounters preset abnormal conditions, the rollback mechanism can be used for emergency handling, thereby further ensuring the stability of the application.
[0049] Furthermore, the automatic deployment and rollback module can employ various methods when automatically deploying applications in a Kubernetes cluster using the updated Helm Chart template. These methods include combining Kubernetes native tools with Helm, integrating with Kubernetes using continuous integration / continuous deployment (CI / CD) tools, and employing monitoring and rollback strategies. In one specific implementation, this application can achieve dynamic configuration and automated deployment 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 Nacos configuration changes, generating the latest Kubernetes resource definition files (such as Deployment, Service, ConfigMap, etc.). These resource definition files are automatically applied by the Kubernetes cluster, completing the dynamic update of the application.
[0051] Automated Deployment Management: Applications updated via Helm Charts can be automatically deployed in Kubernetes clusters. Whenever a Helm Chart template is updated, the system triggers an automated deployment process, applying the new template to the specified Kubernetes namespace for seamless rolling updates or blue-green deployments.
[0052] In the above embodiments, when the configuration management module detects a user making a configuration change in Nacos, it can synchronize the changed configuration item to the associated Helm Chart template. Alternatively, when it detects a user updating a Helm Chart template, it can synchronize the configuration items in the updated Helm Chart template to Nacos. This ensures that the configuration items in Nacos are consistent with the configuration of the Helm Chart template, thereby avoiding problems caused by inconsistent environment configurations. The version control module can generate a first version record corresponding to the changed configuration item and its associated Helm Chart template when it detects a configuration change in Nacos, or generate a second version record corresponding to the updated Helm Chart template and the configuration items synchronized to Nacos when it detects a Helm Chart template update. The automatic deployment and rollback module can utilize the updated Helm Chart template when it detects a Helm Chart template update. Chart templates automatically deploy applications in Kubernetes clusters, monitor and adjust the performance and status of deployed applications, and use a rollback mechanism for emergency handling when pre-defined exceptions occur in deployed applications. This reduces the risk of configuration changes, improves system stability and maintainability, and effectively improves system operation and maintenance efficiency while reducing manual intervention.
[0053] In one embodiment, such as Figure 2 As shown, Figure 2 This application provides a schematic diagram of another Nacos-based operation and maintenance configuration management system; the system may further include:
[0054] The permissions management module is used to manage user permissions for configuration, viewing, modification, publishing, and rollback operations.
[0055] The log auditing module records detailed logs for every configuration item change, release, and rollback, allowing users to view and manage them.
[0056] In this embodiment, the system may include not only a configuration management module, a version control module, and an automatic deployment and rollback module, but also a permission management module and a log auditing module. The permission management module manages user permissions for configuration, viewing, modification, deployment, and rollback operations, ensuring that only authorized users can operate on specific configuration items. This improves the system's risk control capabilities, reduces the risk of configuration changes, and ultimately enhances system stability and maintainability. The log auditing module records detailed operations for each user, including creation, modification, deployment, and rollback, facilitating system auditing and backtracking by administrators.
[0057] For example, the log auditing module in this application can record detailed logs for each synchronization operation during the configuration synchronization process, including which configuration items were updated, which Helm Chart environment was applied to, and whether the synchronization was successful. These logs can be audited by operations and maintenance personnel and used for troubleshooting in case of anomalies. Specifically, the log auditing module records information for each synchronization operation, including but not limited to the time, operator, target version, and result of each rollback operation. Furthermore, the log auditing module of this application can also generate audit reports for rollback operations for management and audit departments to review, ensuring compliance.
[0058] In one embodiment, such as Figure 3 As shown, Figure 3 This is a schematic diagram of the configuration management module provided in an embodiment of this 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 item being changed when a user performs a configuration item change operation in Nacos, or to scan and extract the configuration items in the updated Helm Chart template when a user performs a Helm Chart template update operation.
[0060] The configuration synchronization module is used to inject the changed configuration items as parameters into the associated HelmChart template, and dynamically render the parameters through the Helm Chart template, or map the extracted configuration items into Nacos according to predefined mapping rules.
[0061] In this embodiment, when the configuration management module synchronizes and updates the configuration items in Nacos or the configuration items in the updated Helm Chart template, it can do so through the configuration item extraction module and the configuration synchronization module, respectively.
[0062] Specifically, the configuration item extraction module of this application can not only extract changed configuration items when there are changes in Nacos, but also extract configuration items from the updated Helm Chart template when there are updates. For example, when the configuration item extraction module detects a user's configuration item change operation in Nacos, it can determine the changed configuration item; or, when it detects a user's 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 was extracted from Nacos, it can inject the configuration item as a parameter into the associated Helm Chart template. The Helm Chart template will dynamically render these parameters to ensure that the configuration in the template is consistent with the configuration in Nacos. Furthermore, this parameter injection and template rendering process is real-time and can be automatically triggered every time the Nacos configuration changes. If the configuration item was scanned and extracted from the Helm Chart template, it can be mapped to the corresponding configuration item 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 in 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 strategy management module.
[0065] The configuration item and template association module is used to tag the changed configuration item with an environment label, or to tag the updated Helm Chart template with an environment label, and to determine the Helm Chart template associated with the changed configuration item and the configuration item in Nacos associated with the updated Helm Chart template based on the association relationship between each Nacos configuration item and the Helm Chart template stored in the database in advance, as well as their respective environment labels.
[0066] The synchronization strategy management module is used to determine a first synchronization priority and strategy based on the environment tag of the changed configuration item, and inject the changed configuration item as a parameter into the associated Helm Chart template according to the first synchronization priority and strategy, and dynamically render the parameter through the Helm Chart template; or, it determines a second synchronization priority and strategy based on the environment tag of the updated Helm Chart template, and maps the extracted configuration item to Nacos according to the second synchronization priority and strategy and predefined mapping rules.
[0067] In this embodiment, the configuration management module not only ensures that each modified Nacos configuration item can be seamlessly applied to the corresponding Helm Chart template, or that configuration items in the Helm Chart template can be directly mapped to Nacos, but also supports configuration synchronization operations in different environments. For example, the configurations 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 this application may include a configuration item and template association module and a synchronization strategy management module. The configuration item and template association module can, during the configuration synchronization process, add environment tags to changed configuration items or updated Helm Chart templates, such as tags like "development," "testing," and "production." The system uses these tags to identify the ring to which the configuration item and Helm Chart template belong. When a Nacos configuration item changes, the system will automatically match and locate the Helm Chart template in the corresponding environment based on the environment tag of the configuration item.
[0069] For example, in this application, the system can maintain a template association database, which stores the association between each configuration item in Nacos and the corresponding Helm Chart template. Whenever a configuration item changes, the system queries this database to find the associated Helm Chart template and applies the change to the correct template, or finds the configuration item in Nacos associated with the updated Helm Chart template and maps the configuration item in the updated Helm Chart template to Nacos.
[0070] During this process, synchronization configuration operations can also be performed through the synchronization strategy management module. The synchronization strategy management module of this application can determine a first synchronization priority and strategy based on the environment label of the changed configuration item, and inject the changed configuration item as a parameter into the associated Helm Chart template according to the first synchronization priority and strategy. The parameter is then dynamically rendered through the Helm Chart template. Alternatively, it can determine a second synchronization priority and strategy based on the environment label of the updated Helm Chart template, and map the extracted configuration item to Nacos according to the second synchronization priority and strategy and predefined mapping rules.
[0071] Understandably, users can configure synchronization priorities and strategies for each environment in this application. For example, synchronization in the production environment can be set to "manual confirmation," while synchronization in the development environment can be set to "automatic application." In automatic synchronization mode, the system automatically synchronizes the new configuration items to Nacos each time the Helm Chart template is updated; in manual synchronization mode, users can select the configuration items to be synchronized and perform synchronization operations on the selected items. This strategy management not only ensures that the synchronization operations configured in different environments meet actual needs but also reduces 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, ensuring the accuracy and consistency of configuration synchronization, thereby effectively improving 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 configuration items 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 into 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 to manage the configuration versions under different categories independently, as well as to configure the same or different synchronization priorities and strategies.
[0076] In this embodiment, the version control module can not only create new version records every time the configuration is changed, allowing users to view and compare historical versions, but also includes a version data storage module and a version classification module. The version data storage module saves the version information generated after each change, and the version classification module classifies and manages different versions, thereby effectively improving the efficiency of operation and maintenance management.
[0077] The version data storage module of this application can obtain the description information provided when changing configuration items or updating the Helm Chart template, as well as the change information and metadata related to the first or second version record, and store the description information, change information, and metadata corresponding to the generated version in the version control database. It is understood that each time a Nacos configuration item or Helm Chart template is modified, the system automatically generates a new version number and saves the relevant change information and metadata. Furthermore, each time a change is submitted, the user can be required to provide a change description, including the modified content, reason, and scope of impact, facilitating subsequent tracking and auditing. After obtaining the description information provided when changing configuration items or updating the Helm Chart template, as well as the change information and metadata related to the first or 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, which supports fast querying and retrieval for subsequent analysis.
[0078] The version classification module of this application can categorize configuration items and Helm Chart templates in different versions of Nacos according to preset classification rules, and manage the configuration versions under different categories independently, as well as 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 "Web Service". If the application is a database service, the template can be classified as "Database Service". This classification helps operations and maintenance personnel quickly find templates suitable for specific service types and manage them accordingly.
[0080] Environment Classification: This application allows templates to be categorized into environments such as "Development," "Testing," and "Production," making it easier for users to manage and apply configuration items for different environments. Furthermore, configuration versions for different environments (development, testing, production) can be managed independently, thus avoiding mutual interference.
[0081] Architecture Classification: For example, a microservice architecture application template can be classified as "microservice," while a monolithic architecture application can be classified as "monolithic application." These classifications help operations personnel better manage different types of applications and find the appropriate template more quickly when updating or migrating.
[0082] Furthermore, this application supports configuring the same or different synchronization priorities and strategies for configuration versions under different categories. For example, for configuration versions under an environment category, this application can support synchronizing stable configuration versions from a lower-level environment to a higher-level environment (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, and the specific settings can be made according to the actual situation, without any restrictions 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. It can also assess the scope of impact and risk level based on configuration change information, and issue early warnings based on the assessment results.
[0085] In this embodiment, the version control module may further include a difference comparison module. This module provides an intuitive difference comparison tool to display the configuration differences between different versions, thereby helping operations and maintenance personnel understand the specific modifications. For example, this application can highlight newly added, modified, and deleted configuration items on the interface so that operations and maintenance personnel can quickly view and compare differences. It also supports the comparison of text and structured data. In addition, this application can automatically assess the potential impact scope and risk level based on the configuration changes and provide early warning information based on the assessment results, thereby improving the efficiency of operations and maintenance management.
[0086] In one embodiment, such as Figure 4 As shown, Figure 4 This is a schematic diagram of the structure of the automatic release and rollback module provided in an embodiment of this application; the automatic release and rollback module may include an automatic release module and a version rollback module.
[0087] The automatic deployment 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 an update to the Helm Chart template is detected, and to monitor and adjust the performance and status of the deployed application.
[0088] The version rollback module is used to determine the corresponding rollback strategy based on the preset abnormal situation when the deployed application encounters a preset abnormal situation, and to perform emergency processing on the abnormal application according to the preset rollback execution process and the rollback strategy.
[0089] In this embodiment, the automatic deployment and rollback module may include an automatic deployment module and a version rollback module. The automatic deployment module can 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 monitor and adjust the performance and status of the deployed application. The version rollback module can determine the corresponding rollback strategy based on the preset anomaly situation when the deployed application encounters such anomalies, and perform emergency handling of the abnormal application according to the preset rollback execution process and the rollback strategy. This process, combined with operation and maintenance monitoring tools, can automatically detect the impact of configuration item changes and make adaptive adjustments, thereby reducing the impact of manual operations on the system.
[0090] The automatic deployment module of this application, when automatically deploying applications in a Kubernetes cluster using the updated Helm Chart template according to a preset deployment method, may include the following processing methods:
[0091] Pre-configured Helm Chart templates: This application provides optimized Helm Chart templates that conform to industry best practices. These templates may include standard service configurations, resource limits, security policies, etc. Users can directly use these standardized templates to deploy applications, ensuring deployment consistency and reliability.
[0092] Template Library and Version Control: This application can also establish a Helm Chart template library containing standardized templates of different versions. Users can choose the appropriate version for deployment as needed, and the template library can be continuously updated and optimized over time.
[0093] Automation scripts: This application can also be combined with CI / CD (Continuous Integration / Continuous Delivery) tools to provide automated deployment scripts. These scripts can automatically select appropriate Helm Chart templates, perform parameterized configuration, and complete the deployment of the application.
[0094] After the application is automatically deployed, the automatic deployment module of this application can also monitor and adjust the performance and status of the deployed application, such as real-time metric monitoring and log monitoring. When anomalies are detected, pre-configured adjustment strategies can be used for adaptive adjustments. This adaptive adjustment process does not rely entirely on the version rollback module; it includes a series of intelligent adjustment mechanisms to ensure the stability of the application after configuration changes. Only when the deployed application encounters preset anomalies will this application use the version rollback module to determine the corresponding rollback strategy and perform emergency handling of the abnormal application according to the preset rollback execution process and rollback strategy.
[0095] Through the aforementioned intelligent monitoring and adaptive adjustment mechanisms, the system can automatically detect and respond to potential impacts after configuration item changes, ensuring the stable operation of the application. Maintenance personnel can also understand the adjustment process and results through detailed reports generated by the system and intervene manually when necessary.
[0096] In one embodiment, the process by which the automated deployment module monitors and adjusts the performance and status of the deployed application may include:
[0097] The automatic deployment module performs multi-dimensional monitoring of the performance and status of the deployed application. When an anomaly is detected in the deployed application, the module analyzes the anomaly type and adjusts the system's rolling update strategy, resource configuration, or traffic routing based on the anomaly type.
[0098] In this embodiment, to ensure application stability after each configuration change, the system integrates an operation and maintenance monitoring tool and automatically detects the impact of the changes through the following mechanism:
[0099] Automated monitoring and alerting:
[0100] Real-time metric monitoring: The system integrates monitoring tools such as Prometheus and Grafana, which can collect key application metrics (such as CPU, memory, network latency, request error rate, etc.) in real time. Whenever Nacos configuration items or Helm Chart templates are updated, the monitoring tools will continuously observe the changes in these metrics to determine the health status of the application.
[0101] Log monitoring and analysis: The system can also be integrated with the ELK (Elasticsearch, Logstash, Kibana) stack for log monitoring and real-time analysis of application runtime logs. If errors, anomalies, or signs of performance degradation appear in the logs after an update, the system will automatically trigger an alert.
[0102] Service availability monitoring: The system can also check the service availability of applications by integrating service monitoring tools such as Pingdom or Zabbix. If a service interruption or response time exceeding the limit is detected, the system will immediately notify the operations and maintenance personnel and initiate an adaptive adjustment process.
[0103] When the automatic deployment module detects an anomaly, adaptive adjustments can be made in the following ways. The specific adaptive adjustment process is as follows:
[0104] Automated rolling update strategy adjustment: If the updated application experiences 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 leads to insufficient resources, the system will automatically slow down the rolling update speed or increase resource quotas (such as increasing the number of replicas or adjusting resource limits) to ensure the smooth operation of the application.
[0105] Dynamic resource scaling: This application can also dynamically adjust application resource usage using tools such as HPA (Horizontal Pod Autoscaler). For example, if an updated configuration causes an increase in the load on certain services, the system will automatically expand the number of Pod replicas for that service to cope with the increased traffic.
[0106] Traffic routing adjustment: In blue-green deployments or canary releases, the system can also intelligently adjust traffic routing. If a new configuration item causes a problem, the system will automatically redirect traffic back to the older version of the instance, thereby reducing the impact on users. This process is performed automatically in the Kubernetes Service Mesh without manual intervention.
[0107] In one embodiment, the process by which the automated deployment module monitors and adjusts the performance and status of the deployed application may further include:
[0108] When the automatic deployment module detects that any Pod or node has failed due to a configuration change, it will take remedial measures according to preset fault self-healing and automated remediation measures.
[0109] Furthermore, the automatic release module uses a machine learning model to predict the performance impact of configuration item updates and automatically optimizes the update strategy based on the prediction results.
[0110] In this embodiment, the automatic deployment module can not only adjust the deployed application through the aforementioned adaptive adjustment process, but also through fault self-healing and automated remediation mechanisms, as well as machine learning-based prediction and optimization mechanisms. Specifically, this includes the following:
[0111] Fault self-healing and automated remediation mechanisms: If a Pod or node fails due to configuration changes, Kubernetes can automatically restart the failed Pod or migrate the workload to a healthy node. The system can also be configured with automated remediation measures, such as automatically repairing affected configuration items or restarting related services, to minimize the impact on users.
[0112] Machine learning-based prediction and optimization mechanisms: The system can also utilize 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 negatively affect performance and adjust relevant parameters in advance to avoid problems.
[0113] Through the aforementioned intelligent monitoring and adaptive adjustment mechanisms, the system can automatically detect and respond to potential impacts after configuration item changes, ensuring the stable operation of the application.
[0114] In one embodiment, the process by which the version rollback module performs emergency handling of an abnormal application according to a preset rollback execution flow and the rollback strategy may include:
[0115] Before executing the rollback, the version rollback module performs conflict detection and dependency detection. During the execution of the rollback strategy, it uses atomic operations to control version updates. In a distributed environment, it manages the order and dependencies of concurrent rollback operations, records logs in real time, and notifies relevant personnel of the operation progress and results. After the rollback is completed, it performs a health check on the rolled-back application and collects feedback and experience data from end users.
[0116] In this embodiment, when the version rollback module detects a preset abnormal situation in the deployed application, it can determine the corresponding rollback strategy based on the preset abnormal situation and perform emergency handling 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 a monitoring module to monitor the application's 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 anomalies caused by incorrect configuration items, such as incorrect parameter configuration or missing necessary configurations.
[0121] Application error: An error caused by a code defect or external dependency.
[0122] Environment error: A problem caused by changes in the operating environment or insufficient resources.
[0123] 3. Automatic identification: The system automatically identifies error types and locates possible root causes through preset rules and machine learning algorithms.
[0124] Furthermore, when formulating the rollback strategy, this application can be based on the error type, and can also perform automatic and manual rollbacks, as detailed below:
[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 a new version of the database connection is misconfigured, the system can roll back to the configuration version that previously 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 if necessary.
[0128] Environmental error handling: For environmental issues, the system may need to adjust resource configurations or notify the infrastructure team for handling, 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 reverting until the problem is resolved.
[0130] 2. Automatic and manual rollback:
[0131] Automatic rollback: For high-risk errors or issues with significant impact, the system can automatically trigger a rollback operation after detecting an anomaly.
[0132] Manual rollback: Provides operations and maintenance personnel with the option to manually trigger a rollback, suitable for scenarios that require manual evaluation.
[0133] Once the rollback strategy is determined, this application can perform emergency handling of 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-inspection verification:
[0136] Conflict detection: Before performing a rollback, the system can check the compatibility between the target version and the current environment to avoid rollback failure due to environmental changes.
[0137] Dependency verification: The system can also ensure that the rolled-back configuration version matches the relevant services and dependencies, avoiding the introduction of new problems.
[0138] 2. Rollback implementation:
[0139] Atomicity operations: The rollback process can use atomic operations to ensure that either all operations succeed or the status quo is not changed, preventing partial updates.
[0140] Concurrency control: In a distributed environment, the system can manage the order and dependencies of concurrent rollback operations, thereby ensuring overall consistency.
[0141] Notifications and Logs: 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 occur.
[0145] User feedback: The system can also collect feedback and experience data from end users to further verify the rollback effect.
[0146] 4. Rollback tools and interface:
[0147] Visual user interface:
[0148] Version selection: Displays all historical versions on the interface, providing search and filtering functions for easy and 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 information such as success, failure, and in progress.
[0151] 5. Access 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 there are configuration errors or application problems.
[0155] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0156] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can be referred to each other.
[0157] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily 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 this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A Nacos-based operation and maintenance configuration management system, characterized in that, The system includes: The configuration management module is used to synchronize the changed configuration items to the associated Helm Chart template when it detects that a user has made a configuration item change operation in Nacos, or to synchronize the configuration items in the updated Helm Chart template to Nacos when it detects that a user has made a Helm Chart template update operation. The version control module is used to generate a first version record corresponding to the changed configuration item and the associated Helm Chart template when a configuration item change is detected in Nacos, or to generate a second version record corresponding to the updated Helm Chart template and the configuration item synchronized to Nacos when an update of the Helm Chart template is detected. The automatic deployment and rollback module is used to automatically deploy the application in the Kubernetes cluster using the updated Helm Chart template when an update is detected, and to monitor and adjust the performance and status of the deployed application. When the deployed application encounters a preset abnormal situation, a rollback mechanism is used for emergency handling. The configuration management module includes a configuration item extraction module, a configuration item and template association module, and a synchronization strategy management module. The configuration item extraction module is used to determine the configuration item being changed when a user performs a configuration item change operation in Nacos, or to scan and extract the configuration items in the updated Helm Chart template when a user performs a Helm Chart template update operation. The configuration item and template association module is used to tag the changed configuration item with an environment label, or to tag the updated Helm Chart template with an environment label, and to determine the Helm Chart template associated with the changed configuration item and the configuration item in Nacos associated with the updated Helm Chart template based on the association relationship between each Nacos configuration item and the Helm Chart template stored in the database in advance, as well as their respective environment labels. The synchronization strategy management module is used to determine a first synchronization priority and strategy based on the environment tag of the changed configuration item, and inject the changed configuration item as a parameter into the associated Helm Chart template according to the first synchronization priority and strategy, and dynamically render the parameter through the Helm Chart template; or, it determines a second synchronization priority and strategy based on the environment tag of the updated Helm Chart template, and maps the extracted configuration item to Nacos according to the second synchronization priority and strategy and predefined mapping rules. 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 configuration items 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 into 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 to manage the configuration versions under different categories independently, as well as to configure the same or different synchronization priorities and strategies.
2. The Nacos-based operation and maintenance configuration management system according to claim 1, characterized in that, The system also includes: The permissions management module is used to manage user permissions for configuration, viewing, modification, publishing, and rollback operations; The log auditing module records detailed logs for every configuration item change, release, and rollback, allowing users to view and manage them.
3. 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. It can also assess the scope of impact and risk level based on configuration change information, and issue early warnings based on the assessment results.
4. The Nacos-based operation and maintenance configuration management system according to claim 1 or 2, characterized in that, The automatic deployment and rollback module includes an automatic deployment module and a version rollback module; The automatic deployment 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 an update to the Helm Chart template is detected, and to monitor and adjust the performance and status of the deployed application. The version rollback module is used to determine the corresponding rollback strategy based on the preset abnormal situation when the deployed application encounters a preset abnormal situation, and to perform emergency processing on the abnormal application according to the preset rollback execution process and the rollback strategy.
5. The Nacos-based operation and maintenance configuration management system according to claim 4, characterized in that, The process by which the automatic deployment module monitors and adjusts the performance and status of the deployed application includes: The automatic deployment module performs multi-dimensional monitoring of the performance and status of the deployed application. When an anomaly is detected in the deployed application, the module analyzes the anomaly type and adjusts the system's rolling update strategy, resource configuration, or traffic routing based on the anomaly type.
6. The Nacos-based operation and maintenance configuration management system according to claim 5, characterized in that, The process by which the automatic deployment module monitors and adjusts the performance and status of the deployed application also includes: When the automatic deployment module detects that any Pod or node has failed due to configuration changes, it will take remedial measures according to preset fault self-healing and automated remediation measures. Furthermore, the automatic release module uses a machine learning model to predict the performance impact of configuration item updates and automatically optimizes the update strategy based on the prediction results.
7. The Nacos-based operation and maintenance configuration management system according to claim 4, characterized in that, The process by which the version rollback module performs emergency handling of abnormal applications according to the preset rollback execution flow and the rollback strategy includes: Before executing the rollback, the version rollback module performs conflict detection and dependency detection. During the execution of the rollback strategy, it uses atomic operations to control version updates. In a distributed environment, it manages the order and dependencies of concurrent rollback operations, records logs in real time, and notifies relevant personnel of the operation progress and results. After the rollback is completed, it performs a health check on the rolled-back application and collects feedback and experience data from end users.
Citation Information
Patent Citations
GitOps service management system
CN115686614A
Multi-registration center adaptation method and device, electronic equipment and storage medium
CN116155978A
Application deployment method and device of Kubernetes cluster
CN118245068A