Kodeloka
  1. Kodeloka
  2. Kelas Git & CI/CD
  3. Materi

GitOps & ArgoCD · Modul 20 dari 20

ArgoCD Tutorial for Beginners | GitOps CD for Kubernetes

Prinsip GitOps, arsitektur ArgoCD, sinkronisasi otomatis status kluster Kubernetes dengan repositori Git sebagai single source of truth.

1. Prinsip Utama Filosofi GitOps

GitOps adalah cara melakukan Continuous Deployment di mana seluruh deskripsi infrastruktur dan manifesto status aplikasi (Kubernetes YAML, Helm Charts, Kustomize) disimpan secara deklaratif di dalam repositori Git.

  • Declarative System: Seluruh konfigurasi kluster didefinisikan dalam bentuk berkas manifes.
  • Git as Single Source of Truth: Repositori Git menjadi satu-satunya sumber kebenaran status aplikasi.
  • Automated Sync & Self-Healing: Agen (ArgoCD) secara terus-menerus membandingkan status di Git (Desired State) dengan status aktual di Kluster Kubernetes (Live State). Jika ada perbedaan (drift), ArgoCD akan melakukan Self-Healing / Sync otomatis.

2. Contoh Manifes ArgoCD Application

argocd-app-manifest.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: payment-microservice
  namespace: argocd
spec:
  project: default
  source:
    repoURL: 'https://github.com/myorg/k8s-manifests.git'
    targetRevision: HEAD
    path: environments/production
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: production
  syncPolicy:
    automated:
      prune: true
      selfHeal: true