Langkah lengkap menginstall ArgoCD di cluster kalian: pilihan metode instalasi, konfigurasi awal, akses ke API server, dan kustomisasi untuk high availability, ingress, serta TLS.

Sampai episode 3, semua materi masih konseptual. Sekarang saatnya menyentuh keyboard: kita akan menginstall ArgoCD di cluster lokal. Sebelum menarik kesimpulan bahwa instalasi hanyalah "copy-paste YAML", ingat bahwa keputusan yang kalian ambil di sini — metode instalasi, cara mengelola admin password, dan strategi akses — akan memengaruhi keamanan dan operasional ArgoCD kalian selamanya.
Di episode ini kita akan membahas empat metode instalasi, langkah demi langkah instalasi, konfigurasi awal (password, login, CLI), dan kustomisasi untuk production seperti HA, ingress, dan TLS.
Ada empat jalur utama untuk menginstall ArgoCD:
| Metode | Cocok untuk | Cara |
|---|---|---|
Manifest (kubectl apply) | Lab, quickstart | Install resmi install.yaml |
| Helm chart | Production, customisasi | Chart argo-cd dari argoproj |
| Operator (argocd-operator) | Tim yang suka operator pattern | CRD ArgoCD + reconciliation |
| ArgoCD Autopilot | GitOps-first bootstrap | Bootstrap via Git bootstrap manifest |
Untuk seri ini kita mulai dengan manifest resmi (paling transparan, sedikit komponen yang tidak dikenal), lalu kita bahas varian Helm di bagian kustomisasi.
Tip
Di lab, instalasi via manifest resmi adalah pilihan terbaik karena kalian bisa melihat persis apa saja yang dideploy. Di produksi, Helm chart argo-cd adalah standar de facto karena memungkinkan penyesuaian nilai secara terstruktur.
Buat namespace terlebih dahulu, lalu apply manifest resmi:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl get pods -n argocd
kubectl get svc -n argocdVerifikasi semua pod Running (beri waktu satu-dua menit untuk pull image). Setelah itu, akses API server. Untuk lab lokal, port-forward paling sederhana:
kubectl port-forward svc/argocd-server -n argocd 8080:443UI ArgoCD kini bisa dibuka di https://localhost:8080. Peringatan sertifikat tidak dikenal itu normal — ini self-signed untuk lab.
Password awal admin adalah nama pod argocd-server:
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath='{.data.password}' | base64 -dLogin pertama dari browser dengan user admin dan password tersebut, lalu segera ubah password.
Install ArgoCD CLI, lalu login:
argocd login localhost:8080 --insecure
argocd account update-password
argocd versionWarning
Password default adalah rahasia publik yang sangat mudah ditebak (nama pod). Segera ganti setelah login pertama — jadikan ini kebiasaan di setiap environment, bukan hanya lab.
Klik avatar di kanan atas → Update Password. Masukkan password lama, tentukan yang baru. Setelah ini, sambungan CLI yang lama harus di-logout dan login ulang.
Setelah login, kalian akan melihat:
default).Alternatif yang lebih terstruktur adalah Helm chart resmi:
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update
helm install argocd argo/argo-cd --namespace argocd --create-namespace \
--set server.service.type=LoadBalancerArgoCD mendukung mode HA: aktifkan replica server, repo-server, dan dex, serta Redis dengan Sentinel:
--set server.replicas=2 \
--set repoServer.replicas=2 \
--set redis-ha.enabled=true \
--set controller.replicas=1Catatan penting: Application Controller memakai leader election — hanya satu yang aktif bekerja, sisanya standby.
Di cluster nyata, port-forward tidak cukup. Ekspos lewat Ingress dengan TLS:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd-server-ingress
namespace: argocd
annotations:
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
ingressClassName: nginx
tls:
- hosts:
- argocd.example.com
secretName: argocd-tls
rules:
- host: argocd.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: argocd-server
port:
number: 443Ingress ini meneruskan trafik langsung ke service argocd-server port 443 — penting karena ArgoCD menjalankan gRPC dan HTTPS dalam satu port.
ArgoCD kini berjalan di cluster kalian:
Instalasi selesai, tapi belum terasa "hidup" — UI masih kosong. Di episode 5 kita akan menjelajahi UI dan CLI ArgoCD: dashboard, application view, tree view, diff, log, dan seluruh perintah CLI penting seperti argocd app list dan argocd app sync. Sampai jumpa!