Sobes.tech
Middle

GitOps kavramı nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

GitOps, altyapının ve uygulamaların istenen durumunu deklaratif olarak tanımlamak için Git'i tek gerçek kaynağı olarak kullanan bir operasyonel çerçevedir.

Ana ilkeler:

  • Deklaratiflik: Sistem, Kubernetes manifestleri gibi, deklaratif olarak tanımlanmıştır.
  • Sürüm kontrolü: Sisteminin istenen durumu Git'te saklanır ve sürümleri vardır.
  • Otomasyon: Otomatik süreçler, Git'ten değişiklikleri alır ve çalışma ortamına uygular.
  • Uyum: Özel ajanlar, sistemin mevcut durumunu sürekli kontrol eder ve Git'teki istenen duruma uygun hale getirir.

Çalışma şeması:

  1. Geliştirici veya operatör, yapılandırma veya uygulama kodunda değişiklik yapar ve Git deposuna commit eder.
  2. CI/CD sistemi, artefaktları (örneğin, Docker görüntüleri) derler ve dağıtım manifestlerini başka bir Git deposunda (yapılandırma deposu) günceller.
  3. GitOps ajanı (örneğin, Flux CD, Argo CD), yapılandırma deposunu izler.
  4. Yeni bir commit tespit edildiğinde, ajan değişiklikleri çeker ve hedef ortama uygular (örneğin, Kubernetes kümesi).
  5. Ajan, kümenin mevcut durumu ile Git'te tanımlanan durumu sürekli kontrol eder ve uyumsuzlukları düzeltir.

Avantajlar:

  • Güvenilirlik: Sistem durumu her zaman Git'ten geri yüklenebilir.
  • Hız: Otomatik süreçler, değişikliklerin daha hızlı dağıtılmasını sağlar.
  • Güvenlik: Tüm değişiklikler Git üzerinden geçer, denetim ve geri alma imkanı sağlar.
  • Görünürlük: Değişiklik geçmişi Git'te mevcuttur.
  • Geri alma kolaylığı: Önceki bir duruma geri dönmek, Git'teki bir commit'in geri alınmasına eşittir.

Araç örnekleri:

  • Flux CD
  • Argo CD