Sobes.tech
Middle

Wat is het concept van GitOps?

sobes.tech AI

Antwoord van AI

GitOps is een operationeel raamwerk dat Git gebruikt als de enige bron van waarheid voor het declaratief beschrijven van de gewenste staat van infrastructuur en applicaties.

Belangrijke principes:

  • Declaratief: Het systeem wordt declaratief beschreven, bijvoorbeeld met Kubernetes-manifesten.
  • Versiebeheer: De gewenste staat van het systeem wordt opgeslagen in Git en heeft versies.
  • Automatisering: Automatische processen passen wijzigingen van Git toe in de werkomgeving.
  • Afstemming: Speciale agents controleren voortdurend de actuele toestand van het systeem en brengen deze in overeenstemming met de gewenste toestand in Git.

Werkschema:

  1. Ontwikkelaar of operator brengt wijzigingen aan in de configuratie of code van de applicatie en commit deze naar de Git-repository.
  2. Het CI/CD-systeem verzamelt artefacten (bijvoorbeeld Docker-afbeeldingen) en werkt de deployment-manifesten bij in een andere Git-repository (configuratierepository).
  3. De GitOps-agent (bijvoorbeeld Flux CD, Argo CD) bewaakt de configuratierepository.
  4. Bij het detecteren van een nieuwe commit haalt de agent de wijzigingen op en past ze toe op de doelomgeving (bijvoorbeeld Kubernetes-cluster).
  5. De agent controleert voortdurend of de huidige toestand van het cluster overeenkomt met de in Git beschreven toestand en corrigeert afwijkingen.

Voordelen:

  • Betrouwbaarheid: De toestand van het systeem kan altijd worden hersteld uit Git.
  • Snelheid: Geautomatiseerde processen maken snellere implementatie van wijzigingen mogelijk.
  • Veiligheid: Alle wijzigingen gaan via Git, wat audit en rollback mogelijk maakt.
  • Zichtbaarheid: De wijzigingsgeschiedenis is beschikbaar in Git.
  • Eenvoudige rollback: Terugkeren naar een vorige toestand is gelijk aan het terugdraaien van een commit in Git.

Voorbeelden van tools:

  • Flux CD
  • Argo CD