Cluster API
Automation

Cluster API

Niels Goossens
Niels Goossens

Joe Beda -VMWare (Heptio)

Joe Beda is Principal Engineer bij Heptio. Een bedrijf dat recent is overgenomen door VMWare. Beda weet veel van Kubernetes, want was voor het oprichten van Heptio werkzaam bij Google als een van de breinen achter de orkestratielaag.

Special Interest Groups

Beda geeft in slechts een paar minuten een kort doorkijkje naar een recente ontwikkeling binnen een van de special interest groups van Kubernetes. De plek waar ontwikkelaars aan bepaalde thema’s
samenwerken. Het gaat nu specifiek om het beschrijven van de staat van een cluster. De manier
waarop in de containerwereld wordt gewerkt met installatie en configuratie. Een declaratie bevat de uiteindelijke status van het platform, die altijd exact hetzelfde is als in die declaratie aangegeven. Dit is een groot verschil met een meer traditionele manier van installatie en configuratie, waarbij het
resultaat nooit helemaal voorspelbaar is. Het is zeer gesimplificeerd. Het verschil tussen “start 3
clusters en rapporteer hoeveel je er hebt” en “start 3 clusters en rapporteer als ze er zijn”.

Clusters

Die declaratieve manier van werken hoort bij de wereld van containers, maar Beda geeft aan dat de ontwikkelaars van Kubernetes ernstig hebben onderschat hoe complex het is om clusters in de lucht te krijgen. De tool dat hiervoor ooit is bedacht, kube-up.sh, voldoet eigenlijk niet. Het resultaat hiervan is dat er veel installers zijn gemaakt door allerhande derden. Die hebben allemaal een opiniated aanpak. Kortweg betekent dit dat iedere installer zo zijn eigen mening heeft over wat een actief en werkend cluster is. Er zijn keuzes gemaakt, verticals ontstaan, afhankelijkheden gecreëerd.

Kubeadm

De tool kubeadm, toegepast voor het bootstrappen van clusters, is een stap in de goede richting. De volgende stap is de introductie van cluster-api als een standaard manier om clusters te provisionen. In cluster-api, “a declarative idea of what you want a cluster to be”, zit de definitie van cluster, machine, machineset (replicating autoscaling) en machinedeployment (updates). Het is een goed initiatief en een mooie stap in de richting van verdere standaardisatie. Maar Beda geeft aan dat het super-early is en alpha 1. In een wereld die zich continu in beta bevindt. Dat wil wel iets zeggen.

Doel

Het uiteindelijke doel van cluster-api is “democratize how we build and manage clusters”. En democratize duidt op een samenwerking, niet op voorschrijven.