Sobes.tech
Middle

V čom spočíva koncept GitOps?

sobes.tech AI

Odpoveď od AI

GitOps je operatívny rámec, ktorý používa Git ako jediný zdroj pravdy na deklaratívny opis požadovaného stavu infraštruktúry a aplikácií.

Kľúčové princípy:

  • Deklaratívnosť: Systém je deklaratívne opísaný, napríklad pomocou manifestov Kubernetes.
  • Verziovanie: Požadovaný stav systému je uložený v Git a má verzie.
  • Automatizácia: Automatické procesy aplikujú zmeny z Git do pracovného prostredia.
  • Zladenie: Špeciálne agenti neustále kontrolujú aktuálny stav systému a prispôsobujú ho požadovanému stavu v Git.

Schéma práce:

  1. Vývojár alebo operátor vykonáva zmeny v konfigurácii alebo kóde aplikácie a vykonáva commit do Git repozitára.
  2. CI/CD systém zhromažďuje artefakty (napríklad Docker obrazy) a aktualizuje manifesty nasadenia v inom Git repozitári (konfiguračnom repozitári).
  3. GitOps agent (napríklad Flux CD, Argo CD) sleduje konfiguračný repozitár.
  4. Pri zistení nového commitu agent extrahuje zmeny a aplikuje ich na cieľové prostredie (napríklad Kubernetes klaster).
  5. Agent neustále kontroluje, či aktuálny stav klastru zodpovedá stavu opísanému v Git, a opravuje odchýlky.

Výhody:

  • Spoľahlivosť: Stav systému je vždy možné obnoviť z Git.
  • Rýchlosť: Automatizované procesy umožňujú rýchlejšie nasadenie zmien.
  • Bezpečnosť: Všetky zmeny prechádzajú cez Git, zabezpečujúc audit a možnosť vrátenia.
  • Viditeľnosť: História zmien je dostupná v Git.
  • Jednoduché vrátenie: Vrátenie k predchádzajúcemu stavu je ekvivalentné vráteniu commitu v Git.

Príklady nástrojov:

  • Flux CD
  • Argo CD