• Manajemen Konfigurasi Berbasis Git
  • Otomatisasi Penerapan Perubahan
  • Pengelolaan Versi dan Audit
  • Deklaratif
  • Keterukuran dan Skalabilitas

  • Cluster kubernetes / minikube
  • helm plugins install

Flow CI & CD menggunakan GitOps ArgoCD

$ helm repo add argo-cd https://argoproj.github.io/argo-helm
helm upgrade --install --namespace argocd argocd argo-cd/argo-cd -f argo-cd/values.yaml

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

Akses menggunakan CLI atau Web dengan https://localhost:443

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

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: argocd-app
spec:
  project: default
  source:
    repoURL: 'https://github.com/gunawan-d/helm-mychart'
    path: chart-gunawan
    targetRevision: HEAD
    helm:
      valueFiles:
        - ../manifests/values.yaml
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: argocd
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
      allowEmpty: false
      syncOptions:
      - Validate=false
      - ApplyOutOfSyncOnly=true
    syncWave:
      concurrency: 1
      failFast: true
    syncInterval: 1m 
  revisionHistoryLimit: 3
  • repoURL : repository URL
  • Path: adalah folder template kita karena kita menggunakan helm untuk deploy aplikasinya
  • ValuesFiles: lokasi values.yaml atau manifests dari aplikasi kita
  • Server & namespace : adalah lokasi dari Cluster kubernetes kita tinggal kita sesuaikan
  • SyncPolicy automated: untuk auto sync jika ketika ada image baru
  • SyncInterval: yang dimana auto sync berjalan 1 menit sekali
  • ReisionHistoryLimit: adalah fitur paling penting bagi argoCD untuk merollback sebuah aplikasi dari image yang sudah ditentukan misal hanya 3.

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *