Belajar GitOps dengan ArgoCD - GitOps Ecosystem & ArgoCD Overview
Episode 2 of 36

Belajar GitOps dengan ArgoCD - GitOps Ecosystem & ArgoCD Overview

Peta persaingan tools GitOps, alasan ArgoCD menjadi standar industri, arsitektur komponen-komponennya, core concepts, dan cara kerja loop reconciliation yang selalu menjaga cluster.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Di episode 1 kita memahami mengapa GitOps ada: Git sebagai single source of truth, model pull, dan reconciliation. Sekarang tibalah saatnya mengenal para pemainnya. Seperti memilih framework, keputusan memilih tool GitOps tidak boleh diambil berdasarkan hype — kalian perlu tahu peta persaingan, kekuatan masing-masing, dan alasan mengapa ArgoCD menjadi pilihan yang kita pelajari di seri ini.

Di episode ini kita akan membahas lanskap tools GitOps, alasan memilih ArgoCD, arsitektur komponennya, core concepts yang akan dipakai terus di seri ini, dan cara kerja loop reconciliation — mesin yang membuat GitOps benar-benar berjalan.

Lanskap Tools GitOps

Beberapa tools dominan mengisi ruang GitOps untuk Kubernetes. Masing-masing lahir dari filosofi berbeda:

  • ArgoCD — pull-based, operator Kubernetes yang full declarative, dikembangkan Intuit, sekarang salah satu proyek paling aktif di CNCF.
  • Flux CD — pull-based, dikembangkan Weaveworks (yang mencetuskan istilah GitOps), berbasis GitRepository + Kustomization resources.
  • Jenkins X — berbasis CI/CD pipeline dengan GitOps workflow sebagai lapisan di atasnya; lebih cocok bagi tim yang ingin satu tool untuk CI dan CD.
  • GitLab CI/CD dengan GitOps — memakai pipeline GitLab untuk mengelola agent GitOps (perlu diintegrasikan dengan Flux/ArgoCD atau fitur GitLab Agent).

Perbandingan singkat:

AspekArgoCDFlux CDJenkins X
ModelPullPullPush + GitOps
CI bawaanTidakTidakYa (Tekton)
UI WebSangat kayaDasar (opsional)Dashboard
Multi-clusterYaYaYa
Sync engineApp per ApplicationKustomizationPipeline
FokusCD + observabilityCD ringanPipeline end-to-end

Mengapa ArgoCD?

Ada banyak alasan ArgoCD menjadi pilihan default dunia modern:

  • CNCF graduated — lulus inkubasi CNCF sebagai proyek stable; sinyal kematangan dan tata kelola yang serius.
  • Kubernetes-native — ArgoCD adalah operator yang hidup sebagai CRD; ia mengerti Deployment, Service, Ingress, sampai CRD kustom aplikasi.
  • Multi-cluster — satu instance ArgoCD bisa mengelola banyak cluster dari satu titik.
  • UI yang kaya — visualisasi aplikasi, tree view resource, diff, dan log langsung dari browser.
  • Komunitas aktif — rilis rutin, banyak kontributor, ekosistem besar (ApplicationSet, Rollouts, Image Updater, Notifications).
  • Adopsi enterprise luas — dipakai ratusan perusahaan; artinya banyak runbook, contoh, dan praktisi yang bisa membantu.
  • Fitur lengkap — sync strategies, hooks, sync waves, projects, RBAC, dan SSO dalam satu paket.

Tip

Argumen terkuat untuk ArgoCD bukan "paling populer", melainkan bahwa fitur yang biasanya butuh banyak tool tambahan (canary deployment, auto image update, notifikasi) sudah tersedia dalam satu ekosistem. Ini menyederhanakan stack operasional kalian.

Arsitektur ArgoCD

Setelah install, ArgoCD berjalan sebagai kumpulan pod di namespace argocd. Mari lihat komponennya:

Komponen ArgoCD di namespace argocd
kubectl get pods -n argocd
argocd-application-controller-0      1/1  Running
argocd-applicationset-controller-..  1/1  Running
argocd-dex-server-..                 1/1  Running
argocd-notifications-controller-..   1/1  Running
argocd-redis-..                      1/1  Running
argocd-repo-server-..                1/1  Running
argocd-server-..                     1/1  Running

Peran masing-masing komponen:

KomponenPeran
API Server (argocd-server)Pintu masuk semua interaksi: gRPC/REST API, UI web, dan CLI
Repository Server (argocd-repo-server)Meng-clone dan merender manifest dari Git (Helm/Kustomize/Jsonnet)
Application Controller (argocd-application-controller)Otak reconciliation: membandingkan & menyelaraskan state
RedisCache hasil render dan state untuk performa
DexPenyedia SSO/OIDC untuk autentikasi (bisa diganti provider lain)
Application CRDsObjek Application, Project, ApplicationSet yang disimpan di kube-apiserver

Core Concepts

Sebelum praktik, kuasai istilah yang akan dipakai terus-menerus:

KonsepPenjelasan
ApplicationUnit kerja inti: satu sumber Git + satu destinasi cluster/namespace
ProjectKontainer logis untuk membatasi Application (whitelist repo, cluster, namespace)
RepositoryRegistrasi URL Git yang boleh diakses (HTTPS token atau SSH key)
ClusterTarget tempat deploy; in-cluster atau cluster eksternal
Sync statusPosisi cluster vs Git: Synced, OutOfSync, Unknown
Health statusKondisi operasional: Healthy, Progressing, Degraded, Suspended
Sync strategiesCara ArgoCD menerapkan perubahan: manual vs automated

Note

Jangan tertukar: Sync status menjawab "apakah cluster sama dengan Git?", sedangkan Health status menjawab "apakah aplikasi berjalan dengan sehat?" Sebuah aplikasi bisa Synced (sama dengan Git) tetapi Degraded (CrashLoopBackOff). Dua dimensi ini saling independen.

Cara Kerja: Reconciliation Loop

ArgoCD menerapkan prinsip reconciliation seperti Kubernetes:

  1. Baca kondisi yang diinginkan dari Git (lewat Repository Server yang merender manifest).
  2. Bandingkan dengan kondisi nyata di cluster via kube-apiserver.
  3. Sinkronkan (jika diizinkan oleh sync policy) — apply, hapus, atau perbaiki resource.
  4. Nilai kesehatan resource hasil sync.
  5. Ulangi setiap interval reconciliation (default 3 menit) dan saat ada event (webhook Git, perubahan manual).
Melihat status hasil reconciliation
argocd app get api
Health Status:  Healthy
Sync Status:    Synced

Ketika kalian git commit dan git push perubahan, ArgoCD (dengan webhook atau pada siklus berikutnya) mendeteksi ketidakcocokan dan menandai Application OutOfSync. Dengan sync policy automated, ia langsung menyelaraskan; tanpa itu, menunggu persetujuan manual — keduanya akan kita praktikkan di episode 6 dan 7.

Penutup

Episode ini memetakan peta GitOps dan membongkar isi mesin ArgoCD:

  • Tools utama: ArgoCD (pull), Flux (pull), Jenkins X (push + GitOps), GitLab CI/CD.
  • ArgoCD unggul: CNCF graduated, k8s-native, multi-cluster, UI kaya, ekosistem lengkap.
  • Komponen: API Server, Repository Server, Application Controller, Redis, Dex, CRDs.
  • Core concepts: Application, Project, Repository, Cluster, Sync & Health status.
  • Reconciliation loop menjaga cluster tetap sejajar dengan Git.

Di episode 3 kita akan menyegarkan dasar-dasar Kubernetes dan manajemen manifest: review Pod, Deployment, Service, ConfigMap, Secret, dan Ingress, lalu pengenalan Helm dan Kustomize — dua senjata utama untuk menulis manifest yang bersih sebelum masuk ke praktik ArgoCD. Sampai jumpa!