Nieuwe Application Manager van Google gericht op GitOps

De nieuwe application manager van Google is gericht op het vereenvoudigen van het opzetten van GitOps met Google Kubernetes Engine (GKE) als doelplatform. GitOps is een aanpak waarbij ontwikkelaars een definitie van de infrastructuur bijvoegen in een git repository, naast de code zelf.

Developers kunnen daarmee de implementatie automatiseren met een script dat zowel de productieomgeving als het compileren van de code opzet. Als developers dan een wijziging aan de infrastructuur moeten aanbrengen, kunnen ze dat doen door de definitie daarvan aan te passen, met alle voordelen van geschiedenis en beheer die het gebruik van een repository met zich meebrengt.

De nieuwe Application Manager is een add-on die draait in een Google Kubernetes Enterprise (GKE)-cluster, en heeft een command line interface die gebruikt wordt bij het draaien van appctl.

GitHub of GitLab

Repositories moeten worden gehost in GitHub of GitLab. Eenmaal geïnstalleerd kunnen developers commando’s gebruiken om applicaties te beheren. Dit begint met het aanmaken van repositories voor een applicatie. Standaard krijgt een developer dus twee repositories, een voor de configuratie van de infrastructuur en een voor de applicatiecode.

Vervolgens stelt de ontwikkelaar de vereisten in voor de inzet van Kubernetes in een YAML-bestand, volgens een Kustomize-configuratie, en kunnen er appctl-commando’s gebruikt worden om omgevingen toe te voegen. Die kunnen gebruikt worden voor bijvoorbeeld testen, staging, maar ook productie. Daarna bereidt de ontwikkelaar een getagde versie van de applicatie voor, om in te zetten met het appctl prepare command.

Dit laatste genereert een pull request in de repository, die developer vervolgens kan beoordelen. Als het request is goedgekeurd, kan appctl worden gebruikt om de gespecificeerde omgeving te creëren en daarna een applicatie uit te rollen.