DevOps ve Docker 1 dakika okuma

Kubernetes GitOps: ArgoCD ile Surekli Dagitim

ArgoCD ile GitOps prensibi, uygulama senkronizasyonu ve otomatik dagitim.

E
Emre Cihan
· · 12 görüntüleme

GitOps Nedir

Git repository'si tek gercek kaynak (single source of truth). Tum altyapi degisiklikleri Git commit olarak yapilir, ArgoCD otomatik uygular.

ArgoCD Kurulum

kubectl create namespace argocd
kubectl apply -n argocd 
  -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

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

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

Uygulama Tanimlama

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: web-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/emrecihn/web-app
    targetRevision: main
    path: k8s/
  destination:
    server: https://kubernetes.default.svc
    namespace: uretim
  syncPolicy:
    automated:
      prune: true     # Silinen manifest'leri sil
      selfHeal: true  # Manuel degisiklikleri geri al
    syncOptions:
      - CreateNamespace=true

Rollout Stratejisi

apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: web-app
spec:
  replicas: 5
  strategy:
    canary:
      steps:
        - setWeight: 20   # %20 trafigi yeni versiyona
        - pause: {duration: 5m}
        - setWeight: 50
        - pause: {duration: 5m}
        - setWeight: 100

Image Updater

metadata:
  annotations:
    argocd-image-updater.argoproj.io/image-list: myapp=registry/myapp
    argocd-image-updater.argoproj.io/myapp.update-strategy: semver

GitOps ile altyapi degisiklikleri izlenebilir, geri alinabilir ve otomatik uygulanir hale gelir.

Paylaş: Twitter / X
E
Emre Cihan
Sistem Yöneticisi · Maker · Elektronik Meraklısı

İlgili yazılar

DevOps ve Docker
Docker Nedir? Container Mantığı ve Gerçek Kullanım Senaryoları
4 dk
DevOps ve Docker
Terraform Modulleri ile Yeniden Kullanilabilir Altyapi
1 dk
DevOps ve Docker
Kubernetes StatefulSet ile Veritabani Yonetimi
1 dk
DevOps ve Docker
Kubernetes Ingress Controller ile HTTP Yonetimi
1 dk