En av de största trenderna inom IT just nu är containrar med Kubernetes som driver denna teknik framåt. Red Hats paketering av Kubernetes heter OpenShift och de satsar stenhårt just nu, med god anledning. Red Hats satsning på OpenShift är en satsning på framtiden och framtiden är containrar. Genom att satsa på OpenShift och Kubernetes så försöker Red Hat plocka andelar på en växande marknad och positionerar sig själva som leverantör av en nyckelplattform som levererar denna container-framtid.
Enklare hantering av klustret
OpenShift 4 kommer med ett gäng nya funktioner. En av dessa är att OpenShift nu kan hantera sig själv. Via det grafiska gränssnittet kan man se vilka servrar OpenShift körs på och även utföra uppgraderingar. Att uppgradera OpenShift är nu lika lätt som att uppgradera Google Chrome: en liten notis dyker upp och med ett enda klick är hela klustret uppgraderat.
Detta är möjligt tack vare Red Hat CoreOS som är en sammanslagning av Container Linux från CoreOS som Red Hat köpte upp nyligen, och RHEL Atomic Host. Red Hat CoreOS använder atomära operationer med lagerteknik vilket gör att en uppgradering bara kan leverera två resultat: en lyckad uppgradering, eller ingenting. Något där emellan finns inte. Red Hat CoreOS kommer med en minimal uppsättning paket, byggd specifikt bara för att köra containrar och inte så mycket mer. Detta innebär en minskad angreppsyta och tillsammans med ett filsystem som är read-only så erbjuder Red Hat CoreOS en mycket hög säkerhet.
Håll koll på dina mikrotjänster med Service Mesh
Red Hat har paketerat ihop Istio, Jaeger och Kiali som är open source projekt för att hantera och övervaka nätverk i Kubernetes. Jaeger och dess webbgränssnitt Kiali erbjuder tracing som gör att man kan följa ett inkommande nätverksanrop in i stacken i en applikation. För att få full synlighet krävs dock att applikationen är skriven för tracing så att den kan rapportera funktionsanrop och vilka utgående anrop (till en databas exempelvis) som hänger ihop med ett inkommande anrop (en inloggning från en användare). I en värld där tjänster går mer och mer åt mikrotjänst-arkitekturen så är detta ett utmärkt sätt att felsöka och optimera applikationer som körs på Kubernetes.
Istio erbjuder vad som kallas för Service Mesh. Det är ett sätt för olika mikrotjänster att upptäcka varandra men erbjuder också möjlighet för administratörer att granulärt kontrollera vilka tjänster som får prata med varandra och lägga på saker som t ex QoS och kryptering.
Operators – App Store för Kubernetes
Att driftsätta nya produkter i en miljö kan vara ett ganska stort åtagande. Att hålla dessa produkter igång och uppdaterade kan få många av oss att ligga sömnlösa. Med Operators förenklas livet för administratörer. En Operator är ett sätt att paketera en produkt med kod för allt från driftsättning till administration. Med en Operator behöver du inte längre vara en certifierad DBA för att hantera en databas. En Operator kan sköta allt från konfiguration, optimering, backup och avancerade saker som shard management til exempel.
Administratörer kan lägga in en kurerad lista av Operators som är godkända i ett kluster och uppdatera dessa via ett enda knapptryck. Dessa uppdateringar kan göras tillgängliga för användare, eller tryckas ut automatiskt och uppdatera alla instanser av t ex databasen eller vad det nu är denna Operator sköter om. Användare får en App Store liknande sida där de kan driftsätta instanser som sköts av denna Operator. Att installera en Microsoft SQL Server är lika lätt som att installera Instagram på telefonen, med fullt stöd för High Availability, automatisk skalning och självläkning på plats från start.
Virtuella maskiner på Kubernetes
En av de större nyheterna i OpenShift 4 är stödet för virtualisering. Om man driftsätter OpenShift 4 på fysiska servrar så kan man även få tillgång till en hypervisor som hanteras via samma enkla gränssnitt som allt annat i OpenShift. Virtuella maskiner kan skapas och körs alltså ovanpå Kubernetes i containrar på de fysiska maskinerna.