KakaoTV's Journey to MSA-Based DevOps: Adopting Argo CD and GitOps
Key point
By separating Jenkins and Argo CD and applying GitOps, deployment automation was achieved while minimizing operational resources.
Details
KakaoTV decided to adopt MSA in 2018 and built a DevOps system based on Kubernetes. Initially, to ensure service stability, the Dev/Sandbox and CBT/Production environments were physically separated, and Ingress NGINX was chosen instead of Istio to handle traffic routing alongside the Strangler pattern.
CI/CD Structure Improvement and GitOps Adoption
The existing Jenkins-centric CI/CD imposed a heavy maintenance burden due to DRY principle violations, requiring pipeline modifications for all MSA products whenever settings changed. To resolve this, CI was maintained with Jenkins, while CD was separated into Argo CD, adopting the GitOps approach. GitOps declaratively describes deployment configurations and uses the Git repository as the single source of truth, simplifying deployment history management and rollbacks.
The deployment strategy was also simplified from a complex Git Flow to GitHub Flow. When a developer clicks the PR merge button, Docker image building, Helm chart-based values file generation, pushing to the GitOps repository, and Argo CD synchronization are automatically performed. The interface was designed so that new developers could deploy without additional learning.
Infrastructure Management Optimization
For open-source infrastructure management, instead of directly modifying Helm charts, a method was introduced to patch only the necessary parts using Kustomize. After converting Helm to Kustomize format using Replicated's Ship tool, changes were committed to the GitOps repository and managed by Argo CD.
Additionally, to manage the stateful Jenkins application in a Stateless manner, the Configuration as Code plugin and DSL were used to manage settings and Jobs as code. Since Jenkins data is stored in Git, recovery is possible simply by deleting PVs or restarting pods, and the configuration allows for natural scale-out through replica expansion. This structure significantly reduced operational resources and ensured deployment stability.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.