A complete CI/CD pipeline for automatizing application containerization and deployment in the Kubernetes cluster
Abstract
This research presents the design and implementation of a comprehensive continuous integration/continuous deployment (CI/CD) pipeline. This proposed framework automates the process of application containerization and deployment within Kubernetes clusters. The CI pipeline is designed with Jenkins, integrating various industry-standard tools and technologies, including Git, Maven, SonarQube, Nexus Repository, Trivy, and Docker. The CD pipeline, operated by ArgoCD, pulls the codes from the Git repository and deploys the application in the Kubernetes cluster. Prometheus, Grafana, Node Exporter, and Blackbox Exporter continuously monitor both client and server-level metrics. The Kubernetes dashboard provides real-time insights into cluster health and performance metrics. Cost analysis is facilitated by integrating the Kubernetes cluster with Kubecost, enabling users to monitor resource utilization and optimize infrastructure spending.
Furthermore, the research encompasses the execution of comprehensive load tests to evaluate the performance and stability of deployed applications under varying workloads. Qualitative analysis is conducted to assess the usability and effectiveness of the designed CI/CD pipeline, providing valuable insights into its practical implementation and user satisfaction. This research advances CI/CD practices by offering a robust and scalable framework for automating containerized application deployment in Kubernetes environments, enhancing development efficiency, system reliability, and operational agility. Finally, the limitations and future work of the research are discussed, and the research questions formulated at the beginning of the study are answered.