Sobes.tech
Middle

GitOps anlayışı nədir?

sobes.tech Süni İntellekt

AI-dan cavab

GitOps — bu əməliyyat çərçivəsidir ki, Git-i infrastruktur və tətbiqlərin arzu olunan vəziyyətini deklarativ şəkildə təsvir etmək üçün yeganə həqiqət mənbəyi kimi istifadə edir.

Əsas prinsiplər:

  • Deklarativlik: Sistem deklarativ şəkildə təsvir olunub, məsələn, Kubernetes manifestləri ilə.
  • Versiyalaşdırma: Sisteminin arzu olunan vəziyyəti Git-də saxlanılır və versiyaları var.
  • Avtomatlaşdırma: Avtomatik proseslər Git-dən dəyişiklikləri alır və iş mühitinə tətbiq edir.
  • Uyğunlaşma: Xüsusi agentlər sistemin hazırkı vəziyyətini daim yoxlayır və onu Git-də təsvir olunan arzu olunan vəziyyətə uyğunlaşdırır.

İş prinsipi:

  1. İnkişafçı və ya operator konfiqurasiya və ya tətbiq kodunda dəyişikliklər edir və Git deposuna commit edir.
  2. CI/CD sistemi artefaktları (məsələn, Docker şəkilləri) toplayır və başqa Git deposunda (konfiqurasiya deposu) yerləşən yerləşdirmə manifestlərini yeniləyir.
  3. GitOps agenti (məsələn, Flux CD, Argo CD) konfiqurasiya deposunu izləyir.
  4. Yeni commit aşkar olunduqda, agent dəyişiklikləri alır və onları hədəf mühitə tətbiq edir (məsələn, Kubernetes klasteri).
  5. Agent daim klasterin hazırkı vəziyyətinin Git-də təsvir olunan vəziyyətə uyğun olub-olmadığını yoxlayır və uyğunsuzluqları düzəldir.

Üstünlüklər:

  • Etibarlılıq: Sistem vəziyyəti həmişə Git-dən bərpa oluna bilər.
  • Sürət: Avtomatlaşdırılmış proseslər dəyişikliklərin daha sürətli yerləşdirilməsinə imkan verir.
  • Təhlükəsizlik: Bütün dəyişikliklər Git vasitəsilə keçir, audit və geri alma imkanı təmin edir.
  • Görünürlük: Dəyişikliklərin tarixi Git-də mövcuddur.
  • Geri alma asanlığı: Əvvəlki vəziyyətə qayıtmaq Git-də commit-i geri almaqla eynidir.

Alət nümunələri:

  • Flux CD
  • Argo CD