KubeCon 2019: Eenvoudige cloud-native opslag

Rancher biedt een Kubernetes management platform. Het bedrijf is echter daarnaast al vier en een half jaar bezig met project Longhorn (nu 0.5.0, in Alpha stage), een op iscsi-gebaseerd open source distributed block storage systeem voor Kubernetes. Maar wat is de bestaansreden van het project, vraagt Shen Yang van Rancher Labs zich af, want storage oplossingen zijn er al voldoende?

Longhorn is eenvoudig, compact (30k lines of code), modulair (een volume set is een set microservices). Geen moeilijke storage controlers en legacy hardware. Het beheer van de onderdelen van Longhorn gebeurt vanuit Kubernetes zelf: alle componenten zijn gekoppeld aan de API server en draaien op het cluster. Het voordeel hiervan is dat voor het schalen van de oplossing binnen het cluster de functionaliteit van Kubernetes zelf wordt gebruikt en Longhorn dus echt geïntegreerd is, in plaats van een losse oplossing buiten het platform.

Features zijn live upgrades zonder impact op volumes, cross cluster disaster discovery, one-click installation en snapshotting van volumes. Op de horizon staat nog volume resizing en monitoring.

Een volume die wordt aangemaakt bij een pod leidt tot twee replica’s op verschillende nodes (en verschillende schijven). De Longhorn engine presenteert het resulterende volume aan de pod. De datapaden van verschillende volumes zijn volledig gescheiden, waardoor een crash van de onderliggende node geen impact heeft op een ander volume.

Longhorn heeft een eenvoudige beheerinterface waarmee het koppelen van volumes aan pods door een eindgebruiker en beheer heel eenvoudig is. Shen demonstreert dat live door een WordPress instance met database uit te roillen (vanuit het eigen Rancher platform), iets te schrijven op het resulterende blog en vervolgens een live upgrade van Longhorn uit te voeren. Er is voor de eindgebruiker geen effect te zien, ook niet als hij een WordPress upgrade parallel uitvoert met een wat complexere upgrade van de Longhorn engine.

Een vraag uit het publiek gaat in op de relatie tussen Rook en Longhorn. Volgens Shen is er niet echt een overeenkomst, omdat Rook niet een volledige oplossing biedt – maar met name omdat Rook, gebaseerd op Ceph, door de markt wordt gezien als een complexe oplossing met veel bewegende delen die lastig te configureren is. Longhorn is erop gericht om eenvoudig te zijn.