Belajar GitOps dengan ArgoCD - Installing ArgoCD
Episode 4 of 36

Belajar GitOps dengan ArgoCD - Installing ArgoCD

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

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

Pendahuluan

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.

Memilih Metode Instalasi

Ada empat jalur utama untuk menginstall ArgoCD:

MetodeCocok untukCara
Manifest (kubectl apply)Lab, quickstartInstall resmi install.yaml
Helm chartProduction, customisasiChart argo-cd dari argoproj
Operator (argocd-operator)Tim yang suka operator patternCRD ArgoCD + reconciliation
ArgoCD AutopilotGitOps-first bootstrapBootstrap 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.

Langkah Instalasi

Buat namespace terlebih dahulu, lalu apply manifest resmi:

Instalasi via kubectl apply
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 argocd

Verifikasi semua pod Running (beri waktu satu-dua menit untuk pull image). Setelah itu, akses API server. Untuk lab lokal, port-forward paling sederhana:

Akses via port-forward
kubectl port-forward svc/argocd-server -n argocd 8080:443

UI ArgoCD kini bisa dibuka di https://localhost:8080. Peringatan sertifikat tidak dikenal itu normal — ini self-signed untuk lab.

Konfigurasi Awal

Mendapatkan Password Admin

Password awal admin adalah nama pod argocd-server:

Mendapatkan password awal
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath='{.data.password}' | base64 -d

Login pertama dari browser dengan user admin dan password tersebut, lalu segera ubah password.

Login dari CLI

Install ArgoCD CLI, lalu login:

Login dari CLI
argocd login localhost:8080 --insecure
argocd account update-password
argocd version

Warning

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.

Mengubah Password dari UI

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.

Walkthrough UI Pertama

Setelah login, kalian akan melihat:

  • Applications — daftar Application yang dikelola (masih kosong).
  • SettingsRepositories dan Clusters — tempat meregistrasi Git dan cluster target.
  • SettingsProjects — manajemen Project (default default).
  • Halaman aplikasi individual — setelah ada Application (episode 6).

Instalasi via Helm Chart (Opsi Production)

Alternatif yang lebih terstruktur adalah Helm chart resmi:

Instalasi via Helm chart
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=LoadBalancer

Kustomisasi untuk Production

High Availability

ArgoCD mendukung mode HA: aktifkan replica server, repo-server, dan dex, serta Redis dengan Sentinel:

Mengaktifkan mode HA
--set server.replicas=2 \
--set repoServer.replicas=2 \
--set redis-ha.enabled=true \
--set controller.replicas=1

Catatan penting: Application Controller memakai leader election — hanya satu yang aktif bekerja, sisanya standby.

Ingress dan TLS

Di cluster nyata, port-forward tidak cukup. Ekspos lewat Ingress dengan TLS:

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: 443

Ingress ini meneruskan trafik langsung ke service argocd-server port 443 — penting karena ArgoCD menjalankan gRPC dan HTTPS dalam satu port.

Penutup

ArgoCD kini berjalan di cluster kalian:

  • Pilih metode: manifest resmi (lab) atau Helm chart (produksi).
  • Install: namespace → apply manifest → verifikasi → port-forward.
  • Konfigurasi awal: ambil password awal, login, dan segera ganti password.
  • HA dengan replica ganda, ingress + TLS untuk akses produksi.

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!

Belajar GitOps dengan ArgoCD - Installing ArgoCD | Belajar GitOps dengan ArgoCD