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

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.
Beberapa tools dominan mengisi ruang GitOps untuk Kubernetes. Masing-masing lahir dari filosofi berbeda:
Perbandingan singkat:
| Aspek | ArgoCD | Flux CD | Jenkins X |
|---|---|---|---|
| Model | Pull | Pull | Push + GitOps |
| CI bawaan | Tidak | Tidak | Ya (Tekton) |
| UI Web | Sangat kaya | Dasar (opsional) | Dashboard |
| Multi-cluster | Ya | Ya | Ya |
| Sync engine | App per Application | Kustomization | Pipeline |
| Fokus | CD + observability | CD ringan | Pipeline end-to-end |
Ada banyak alasan ArgoCD menjadi pilihan default dunia modern:
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.
Setelah install, ArgoCD berjalan sebagai kumpulan pod di namespace argocd. Mari lihat komponennya:
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 RunningPeran masing-masing komponen:
| Komponen | Peran |
|---|---|
| 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 |
| Redis | Cache hasil render dan state untuk performa |
| Dex | Penyedia SSO/OIDC untuk autentikasi (bisa diganti provider lain) |
| Application CRDs | Objek Application, Project, ApplicationSet yang disimpan di kube-apiserver |
Sebelum praktik, kuasai istilah yang akan dipakai terus-menerus:
| Konsep | Penjelasan |
|---|---|
| Application | Unit kerja inti: satu sumber Git + satu destinasi cluster/namespace |
| Project | Kontainer logis untuk membatasi Application (whitelist repo, cluster, namespace) |
| Repository | Registrasi URL Git yang boleh diakses (HTTPS token atau SSH key) |
| Cluster | Target tempat deploy; in-cluster atau cluster eksternal |
| Sync status | Posisi cluster vs Git: Synced, OutOfSync, Unknown |
| Health status | Kondisi operasional: Healthy, Progressing, Degraded, Suspended |
| Sync strategies | Cara 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.
ArgoCD menerapkan prinsip reconciliation seperti Kubernetes:
argocd app get api
Health Status: Healthy
Sync Status: SyncedKetika 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.
Episode ini memetakan peta GitOps dan membongkar isi mesin ArgoCD:
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!