Kubernetes is de standaard voor het betrouwbaar draaien en beheren van containerapplicaties en wordt door steeds meer organisaties gebruikt. GitOps is een moderne werkwijze die de voordelen van versiebeheer en CI/CD-pipelines combineert met Kubernetesbeheer. Door het declaratief beschrijven van de gewenste toestand in Git en het gebruik van een CD-tool zoals ArgoCD, kunnen teams snel en betrouwbaar hun laatste ontwikkelingen live zetten.
Natuurlijk beginnen we met een korte recap van Kubernetes en GitOps maar daarna gaan we snel de paktijk in. Ik laat zien hoe we in een klein bedrijf (25 man) Kubernetes gebruiken om productie code te draaien (Azure AKS, Helm, Github, MongoDB Atlas enz.). Ook laat ik zien hoe we voor elke pull request een tijdelijke omgeving opbouwen die gebruikt wordt om alle integratie testen uit te voeren. Deze omgeving bevat alles wat nodig is: een database, andere microservices en zelfs DNS records en certificaten. Alleen bij een succesvolle integratie test kan de pull request gemerged worden. En na het mergen? Dan gaat de nieuwe code vanzelf en zonder downtime naar productie. En de tijdelijke omgeving? Die ruimen we natuurlijk automatisch op.
Met deze presentatie wil ik graag laten zien hoe je met Kubernetes en GitOps je DevOps team naar een volgend niveau kunt tillen. Ook als je team niet groot is!