GitOps Nedir? Altyapı Yönetiminde Git’i Tek Gerçeklik Kaynağı Yapmak

  • Konbuyu başlatan Konbuyu başlatan irfo
  • Başlangıç tarihi Başlangıç tarihi

irfo

Moderatör
Katılım
7 Ocak 2026
Mesajlar
290
Tepkime puanı
2
Puanları
18
Modern yazılım dünyasında "Hız her şeydir" ama hızın yanında "Güvenilirlik" de bir o kadar kritiktir. Bir sabah uyandığınızda canlı ortamdaki sunucularınızın ayarlarının kimin tarafından, neden değiştirildiğini bilmemek bir sistem yöneticisinin en büyük kabusudur. İşte bu kaosu bitirmek için ortaya çıkan disipline GitOps diyoruz.

GitOps, en basit tanımıyla DevOps prensiplerinin altyapı yönetimine uygulanmış halidir. Ancak burada bir fark var: Git, sistemin tek ve mutlak gerçeklik kaynağıdır.


GitOps Nedir?​

GitOps, altyapı ve uygulama yapılandırmalarını yönetmek için Git versiyon kontrol sistemini merkezi bir depo olarak kullanan bir operasyonel çerçevedir. Bu yaklaşımda, sistemin "nasıl olması gerektiğini" (Desired State) belirten dosyalar Git üzerinde tutulur ve bir otomasyon mekanizması sistemin "o anki halini" (Actual State) sürekli kontrol ederek Git'tekiyle aynı olmasını sağlar.

GitOps’un 4 Temel Prensibi​

  1. Bildirimsel (Declarative) Olmalı: Sistem "nasıl kurulacağı" ile değil, "son halinin ne olacağı" ile tanımlanır. (Örn: "Bana 3 tane Nginx sunucusu ver" demek gibi).
  2. Versiyonlanmış ve Değişmez (Versioned & Immutable): Tüm yapılandırmalar Git'te saklanır. Kimin neyi, ne zaman değiştirdiği bellidir. Hata yapıldığında git revert ile saniyeler içinde eski sürüme dönülebilir.
  3. Otomatik Çekme (Automated Pull): Değişiklikler onaylandığında sistem bu değişikliği otomatik olarak algılar ve uygular.
  4. Sürekli Uzlaşma (Continuous Reconciliation): Eğer biri sunucuya manuel girip bir ayarı değiştirirse (Drift), GitOps aracı bunu fark eder ve ayarı Git'teki orijinal haline geri döndürür.

GitOps Neden Bir Devrimdir?​

Geleneksel CI/CD süreçlerinde "Push" (İtme) mantığı vardır. CI aracı kodu derler ve sunucuya "iterek" yükler. GitOps ise "Pull" (Çekme) mantığıyla çalışır. Sunucu tarafındaki bir ajan (örneğin ArgoCD), sürekli olarak Git deposunu izler.

GitOps'un Sağladığı Kolaylıklar:

  • Hatalardan Dönüş: Yanlış bir konfigürasyon mu yaptınız? Tek bir tıklama ile önceki sürüme geri dönebilirsiniz.
  • Güvenlik: Kimseye sunucu şifrelerini veya Kubernetes erişim yetkilerini vermenize gerek kalmaz. Sadece Git deposuna erişim yetkisi yeterlidir.
  • Denetlenebilirlik: "Canlı ortamı kim bozdu?" sorusunun cevabı Git loglarında gizlidir.

GitOps Araçları: Sahne Kimlerin?​

GitOps denilince akla gelen iki dev isim vardır. Her ikisi de Kubernetes (K8s) ekosisteminin vazgeçilmezidir:

  • ArgoCD: Harika bir kullanıcı arayüzüne sahip, Git ile K8s arasındaki farkları görsel olarak sunan en popüler araçtır.
  • Flux: Daha hafif, tamamen kod odaklı ve otomasyonu yüksek bir GitOps aracıdır.

XenForo veya Web Altyapısı İçin GitOps Mantığı​

Diyelim ki bir forum siteniz var ve bu siteyi Kubernetes üzerinde barındırıyorsunuz. Forumun kaynak limitlerini (CPU/RAM) artırmak istiyorsunuz. Manuel komutlar yazmak yerine, Git deponuzdaki bir YAML dosyasını güncellersiniz:

# gitops/forum-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: xenforo-app
spec:
replicas: 5 # Eskiden 3'tü, 5'e çıkardık
template:
spec:
containers:
- name: xenforo
image: myregistry.com/xenforo:v2.2.15
resources:
limits:
memory: "2Gi"
cpu: "1000m"

Siz bu dosyayı git commit ve git push yaptıktan saniyeler sonra, GitOps aracı değişikliği fark eder ve sunucunuzda otomatik olarak 2 yeni kopya (replica) daha açar. Sizin sunucuya bağlanmanıza bile gerek kalmaz!


Altyapıda "Tek Gerçeklik Kaynağı" (Single Source of Truth)​

GitOps'un en büyük vaadi budur. Eğer bir konfigürasyon Git'te yoksa, o konfigürasyon sistemde de yoktur. Bu yaklaşım, "Benim bilgisayarımda çalışıyordu ama sunucuda çalışmıyor" ya da "Geçen hafta bir ayar yapmıştık ama hangisiydi?" gibi sorunları tamamen ortadan kaldırır.


Sonuç: GitOps’a Geçmeli misiniz?​

Eğer Kubernetes kullanıyorsanız veya altyapınız "Kod Olarak Altyapı" (IaC) prensiplerine uygunsa, GitOps sizin için bir sonraki doğal adımdır. Özellikle kalabalık ekiplerde güvenliği artırmak ve hatalı dağıtımların önüne geçmek için GitOps paha biçilemez bir disiplindir.

Altyapınızı bir depo üzerinden yönetmenin huzuruna bir kez alıştığınızda, eski yöntemlere asla dönmek istemeyeceksiniz.
 
Geri
Üst