Intro till Kubernetes
När applikationer till större grad flyttar in i containervärlden ökar komplexiteten i många mjukvaruprojekt. Tillsammans behöver utvecklare (Dev) och driftpersonal (Ops) ett verktyg för att kunna hantera den ökade komplexiteten. När detta verktyg implementeras och används på rätt sätt ökar effektiviteten för utvecklare, samtidigt som tiden och risken associerad med att produktionssätta uppdateringar minskar. Kubernetes är ett verktyg som gör det enklare att hantera komplex mjukvara, och har de senaste åren blivit det ledande verktyget för orkestrering av containers.
Vi antar att ni har bestämt er för att modernisera er utvecklingsorganisation. Den ska framtidssäkras, och ni vill kunna nyttja fördelarna med containrar och behöver kunna hantera era containeriserade applikationer på ett smidigt sätt. Samtidigt kräver er organisation garantier på exempelvis support som inte går att få när man installerar community-versionen av Kubernetes. Isåfall är det en kubernetesdistribution ni är ute efter - men vilka alternativ finns, och hur väljer man mellan dem?
Om det finns ett strategiskt beslut att sköta utveckling och/eller drift i molnet är det en faktor som minskar alternativen något, men det finns fortfarande flera alternativ att välja mellan. Några av de tillgängliga distributionerna har stuckit iväg från mängden när det kommer till användbarhet och funktionalitet. Det är dessa vi ska titta lite närmare på.
OpenShift kan ses som en utvecklingsplattform som inkluderar ett komplett paket med verktyg för att utveckla, testa och orkestrera applikationer med en containerarkitektur. I produkten är Kubernetes motorn som sköter orkestreringen, men paketeringen innehåller även de kringliggande verktyg som behövs för utveckling och leverans av mjukvara. Idag är det här det närmsta man kan komma till en nyckelfärdig Kubernetes plattform.
Rancher kör nu Kubernetes i grunden, och är väldigt användbar för att orkestrera containers i multi-kluster. Detta innebär att det genom samma plattform går att deploya containers till en miljö som består av flera olika infrastrukturer, till exempel on prem och publika moln.
Tanzu är relativt ny och ger en fördel som är riktad mot de som redan använder VMware för virtualisering, då orkestreringen av containers blir integrerad med VMwares virtuella plattform.
Från företaget som ligger bakom Linuxdistributionen Ubuntu finns en väl supporterad kubernetesdistribution som går att integrera med de flesta komponenter så länge man installerar och underhåller dem själv. En del produkter för exempelvis övervakning, logghantering och lastbalansering går att installera direkt via distributionen.
Google erbjuder en enkel och flexibel distribution, som finns redo att använda om man redan utvecklar och hanterar sina resurser i GCP. Google har varit med och backat Kubernetes från början och har anpassat lösningen väl efter sitt moln. Det finns även möjlighet att köra GKE on-prem, då med hjälp av Anthos.
Azures satsning inom containerorkestrering har tidigare varit på Docker Swarm, men sedan Kubernetes tagit huvudrollen som orkestreringsverktyg har AKS blivit det huvudsakliga verktyget för orkestrering i Azure. Plattformen hanteras av Microsoft och inkluderar även verktyg för att bygga CI/CD pipeline.
Amazons inbyggda distribution levererar Kubernetes som service i molnet, och kräver därför ingen installation. Plattformen underhålls av AWS och kan därför vara ett smidigt sätt att komma igång snabbt. För att få till exempel övervakning, monitorering och logghantering behöver man koppla på ett antal tilläggstjänster.