Search

KR-20260066919-A - METHOD, APPARATUS, AND PROGRAM FOR PROVIDING CLUSTER MANAGEMENT SERVICE THAT AUTOMATICALLY BUILDS CI/CD PIPELINE IN A CLUSTER

KR20260066919AKR 20260066919 AKR20260066919 AKR 20260066919AKR-20260066919-A

Abstract

According to one embodiment of the present disclosure, a computer program stored on a computer-readable storage medium is disclosed. The computer program performs the following methods for providing a cluster management service that automatically builds a CI/CD pipeline in a cluster, wherein the method may include: receiving a Container DevOps installation request from a cloud web as a new cluster is created at a user terminal; performing a node join for the new cluster at the user terminal and, when the node join is completed, creating a job pod for an automation task; and obtaining an automation job execution result from the job pod for the automation task and returning the success or failure of the Container DevOps installation to the cloud web.

Inventors

  • 정길성
  • 강성원

Assignees

  • (주) 케이티클라우드

Dates

Publication Date
20260512
Application Date
20241105

Claims (15)

  1. A computer program stored on a computer-readable storage medium, wherein the computer program performs the following methods for providing a cluster management service that automatically builds a CI/CD pipeline in a cluster, and the method comprises: A step of receiving a Container DevOps installation request from the cloud web as a new cluster is created on the user terminal; A step of performing a node join for a new cluster of the above user terminal, and creating a job pod for automation tasks when the node join is completed; and A step of obtaining the result of performing an automation job from the above-mentioned job pod for the automation task and returning the success or failure of the above-mentioned Container DevOps installation to the above-mentioned cloud web; Includes, A computer program stored on a computer-readable storage medium.
  2. In Article 1, A step of calling OpenStack to create a virtual machine upon receiving the above Container DevOps installation request; including, A computer program stored on a computer-readable storage medium.
  3. In Article 2, The step of creating the above virtual machine is, A step of recognizing the resource requirements of the new cluster; and A step of creating the virtual machine by allocating resources corresponding to the above resource requirements; including, A computer program stored on a computer-readable storage medium.
  4. In paragraph 1, The step of performing a node join for a new cluster of the above user terminal and creating a job pod for automation tasks when the node join is completed is: A step of requesting a connection to a node corresponding to the new cluster from the customer cluster; A step of querying whether a node corresponding to the new cluster is connected to the customer cluster; and If the above node is connected to the customer cluster, the step of creating the above job pod for the automation task; including, A computer program stored on a computer-readable storage medium.
  5. In Paragraph 4, The above-mentioned job pod for automated work is, Execute the automation script for the above Container DevOps installation, and The above automation script is, Actions including installing and configuring DevOps tools, including at least one of Jenkins, Gitlab, and Nexus, A computer program stored on a computer-readable storage medium.
  6. In Article 5, The above customer cluster is, Check the status of the DevOps tools installed in the new cluster, and Return the query results to the job pod for the above automation task, and The above-mentioned job pod for automated work is, Transmitting the above automation job execution results to the cluster management service based on the above query results, A computer program stored on a computer-readable storage medium.
  7. In Article 5, The above-mentioned job pod for automated work is, Execute an automation script for configuration actions for the above-mentioned DevOps tools to request configuration changes for at least one of the above-mentioned Jenkins, the above-mentioned Gitlab, and the above-mentioned Nexus to the above-mentioned customer cluster, and The above customer cluster is, Returning the processing result for the above setting change to the above automation job pod, A computer program stored on a computer-readable storage medium.
  8. In Article 1, The step of obtaining the result of performing an automation job from the above-mentioned job pod for the automation task and returning the success or failure of the above-mentioned Container DevOps installation to the above-mentioned cloud web is: If the above-mentioned Container DevOps installation is recognized as successful based on the results of the above-mentioned automation job execution, a step of returning the result that the above-mentioned Container DevOps installation was successful to the above-mentioned cloud web; including, A computer program stored on a computer-readable storage medium.
  9. In Article 1, The step of obtaining the result of performing an automation job from the above-mentioned job pod for the automation task and returning the success or failure of the above-mentioned Container DevOps installation to the above-mentioned cloud web is: If it is recognized that the Container DevOps installation has failed based on the result of the above automation job execution, a step of returning the result that the Container DevOps installation has failed to the cloud web; A step of recognizing a failure section when a retry request for the Container DevOps installation is received from the cloud web; and A step of retrying the installation for the above-mentioned failed section; including, A computer program stored on a computer-readable storage medium.
  10. In Article 9, When a retry request for the Container DevOps installation is received from the cloud web, the step of recognizing the failure section is: A step of obtaining a log corresponding to the result of performing the above-mentioned automated job; and A step of identifying a specific tool that failed to install based on the above log; including, A computer program stored on a computer-readable storage medium.
  11. In Article 10, The step of retrying the installation for the aforementioned failed section is, A step of recognizing a script portion corresponding to the specific tool that failed to be installed in the automation script of the above-mentioned job pod for the automation task; and A step of sending a re-execution command to the job pod for the automation task to re-execute the above script part; including, A computer program stored on a computer-readable storage medium.
  12. In Article 11, A step of obtaining a re-execution result according to the re-execution command from the above automation task job pod and returning the success or failure of the above Container DevOps installation to the above cloud web; including, A computer program stored on a computer-readable storage medium.
  13. In Article 1, The above cloud web is, As a new cluster is created on the above user terminal, when the Container DevOps installation request is received from the above user terminal, the Container DevOps installation request is forwarded to the cluster management service, and Upon receiving the success or failure of the Container DevOps installation from the cluster management service, the success or failure of the Container DevOps installation is transmitted to the user terminal. A computer program stored on a computer-readable storage medium.
  14. As a computer device, One or more processors; Memory for storing instructions executable on one or more processors; and A network unit capable of communicating with at least one of the cloud web and customer cluster; Includes, The above one or more processors, As a new cluster is created on the user terminal, a Container DevOps installation request is received from the cloud web, and Perform a node join for the new cluster of the above user terminal, and when the node join is completed, create a job pod for automation tasks, and Obtaining the result of an automated job execution from the above-mentioned job pod for the automation task, and returning the success or failure of the above-mentioned Container DevOps installation to the above-mentioned cloud web, Computer device.
  15. A method for providing a cluster management service that automatically builds CI/CD pipelines in a cluster, A step of receiving a Container DevOps installation request from the cloud web as a new cluster is created on the user terminal; A step of performing a node join for a new cluster of the above user terminal, and creating a job pod for automation tasks when the node join is completed; and A step of obtaining the result of performing an automation job from the above-mentioned job pod for the automation task and returning the success or failure of the above-mentioned Container DevOps installation to the above-mentioned cloud web; including, method.

Description

Method, apparatus, and program for providing cluster management service that automatically builds a CI/CD pipeline in a cluster The present disclosure relates to a cluster management service, and specifically, to a cluster management service that automatically builds a CI/CD pipeline in a cluster. With the recent rapid advancement of cloud computing technology alongside the development of IT infrastructure, there is an increasing demand among companies to migrate existing physical servers or data centers to the cloud or to leverage them to efficiently develop, deploy, and operate applications. Cloud computing enables the flexible use of computing resources (servers, storage, networks, databases, etc.) over the Internet as needed, allowing users to access an advanced service environment without the need to directly manage physical hardware. Along with this, the emergence of container technology has brought about significant changes in software development and deployment environments. Containers are lightweight virtualization technologies that isolate applications from their execution environments, enabling the rapid and stable deployment and management of applications. In particular, containers allow for the efficient utilization of system resources and offer the advantage of maintaining consistency between development and production environments. Thanks to these characteristics, container technologies such as Docker have spread rapidly and are widely used in various applications. Meanwhile, the automated construction and operation of CI/CD (Continuous Integration/Continuous Deployment) pipelines has become an essential element in cloud environments. CI/CD refers to a series of processes that automatically build, test, and deploy code changes within the software development cycle through Continuous Integration (CI) and Continuous Deployment (CD). By adopting CI/CD pipelines, developers can merge code changes more frequently, deploy them rapidly to production environments, and quickly detect and fix bugs or issues. This significantly reduces application deployment times and contributes greatly to delivering high-quality software more reliably. However, building and managing CI/CD pipelines in a cloud environment remains complex and involves a significant amount of manual configuration. Developers consume a substantial amount of time and resources manually installing various open-source tools and connecting and configuring them to the cluster. Furthermore, managing nodes within the cluster, executing automated tasks, and monitoring the status of deployed applications in real time require considerable effort. Therefore, to address these issues, there is a need for a service that automatically builds and manages CI/CD pipelines in a cluster. In this regard, Korean Registered Patent Publication No. 10-1998564 discloses a method for multi-cluster provisioning and management on a cloud platform. FIG. 1 is an overall flowchart of a cluster management service according to one embodiment of the present disclosure. FIGS. 2 to 6 are flowcharts illustrating a method for providing a cluster management service that automatically builds a CI/CD pipeline in a cluster according to one embodiment of the present disclosure. FIG. 7 illustrates a brief and general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented. Various embodiments are now described with reference to the drawings. In this specification, various descriptions are provided to provide an understanding of the present disclosure. However, it is evident that these embodiments can be practiced without such specific descriptions. As used herein, terms such as “component,” “module,” “system,” etc. refer to computer-related entities, hardware, firmware, software, combinations of software and hardware, or executions of software. For example, a component may be, but is not limited to, a procedure executed on a processor, a processor, an object, an execution thread, a program, and/or a computer. For example, both an application executed on a computer device and the computer device itself may be a component. One or more components may reside within a processor and/or an execution thread. A component may be localized within a single computer. A component may be distributed among two or more computers. Additionally, these components may be executed from various computer-readable media having various data structures stored therein. Components may communicate through local and/or remote processes, for example, according to signals having one or more data packets (e.g., data from a component interacting with another component in a local system or distributed system, and/or data transmitted through signals to other systems and networks such as the Internet). Furthermore, the term "or" is intended to mean an implicit "or" rather than an exclusive "or." That is, unless otherwise specified or evident from the cont