Het landschap van cloud native technologieën is zeer breed en divers. Zo bieden tientallen aanbieders hun tools aan die je op allerlei manieren ondersteunen. Hoe vind je je weg in deze tools? Engineers en architecten van True helpen je op weg. In deze serie delen we onze kennis met je over verschillende Kubernetes tools. 💡 Tip: lees ook de blog De Cloud Native Trail Map van CNCF (en welke aanvullingen True daarop heeft) voor het begin van je reis naar cloud native.
Wat is Harbor voor Kubernetes?
Wie met Kubernetes aan de slag wil, moet zijn containers eerst ergens opslaan. Dit kan op diverse manieren, zoals met Azure Container Registry of Docker Hub. Je kunt echter ook kiezen voor het in eigen beheer hosten van containers. Deze keuze kan verschillende aanleidingen hebben. Zo willen sommige bedrijven niet afhankelijk zijn van nóg een externe partij. Als de container registry eruit ligt, valt je hele platform of applicatie om. In andere gevallen bieden genoemde providers niet de configuratieopties die je zoekt. Harbor kan in zo’n geval uitkomst bieden.
Deze container registry-tool is oorspronkelijk ontwikkeld door VMware en gedoneerd aan het Cloud Native Computing Framework (CNCF). Het CNCF is een open source, leverancier-onafhankelijk hub voor cloud native computing en hosts projecten zoals Kubernetes en tools zoals Harbor. CNCF is onderdeel van de non-profit organisatie Linux Foundation. Harbor is door CNCF als open source tool beschikbaar. Met Harbor kun jij zelf aan de slag met het hosten van een gecontaineriseerde applicatie. Je houdt de webapplicatie hierbij volledig in eigen beheer.
Wat zijn de voordelen van Harbor?
Harbor is ontwikkeld voor het vereenvoudigen van het beheer van containerimages. De tool neemt diverse uitdagingen weg. Zo heb je zelf volledig de controle over de registry en kan je daarnaast meerdere registries op consistente wijze beheren. Ook bevat Harbor de mogelijkheden om containers te scannen op bekende kwetsbaarheden, om zo veiligheid naar een hoger niveau te tillen.
Een bijkomend voordeel is dat gebruikers via Harbor Kubernetes Helm Charts kunnen uploaden en opslaan. Helm is een open source project dat oorspronkelijk is ontwikkeld door DeisLabs en inmiddels ook gedoneerd is aan CNCF. De tool is gericht op het verbeteren van het beheer van Kubernetes YAML-files. Hiervoor zet Helm zogeheten Helm Charts in. Een Helm Chart is een schema dat zorgt dat alle benodigde afhankelijkheden automatisch worden geïnstalleerd als je een gecontaineriseerde applicatie installeert.
Wat is een voorbeeld van gebruik van Harbor Kubernetes?
Voor Testen voor Toegang hebben engineers van True Harbor binnen Kubernetes ingezet. Testen voor Toegang is in het voorjaar van 2021 opgezet als reactie op de COVID-19 pandemie. Via het platform konden Nederlanders zich laten testen indien zij toegang wilden krijgen tot onder meer evenementen als onderdeel van het 3G-beleid. Het team moest in korte tijd een platform opzetten dat een groot aantal bezoekers aankan en tot 400.000 testafspraken per dag kan faciliteren. De use case vroeg om een combinatie van snelheid, schaalbaarheid en een solide infrastructuur. Vanuit True mochten wij het project ondersteunen. Testen voor Toegang maakt gebruik van Kubernetes. De stack bestaat onder meer uit een combinatie van Harbor Kubernetes voor het hosten van containers, threat runtime security platform Falco met het oog op beveiliging, en service mesh Linkerd voor het versleutelen en monitoren van verkeer.
Wat zijn use cases of gebruiksscenario’s van Harbor Kubernetes?
Harbor Kubernetes kent diverse gebruiksscenario’s. De belangrijkste zijn:
Use case #1 – Het zelf hosten van gecontaineriseerde applicaties
Het zelf hosten van gecontaineriseerde applicaties kent allerlei voordelen. Zo bieden veel grote providers je weliswaar allerlei configuratieopties, maar blijf je beperkt tot de opties die de provider biedt. Harbor Kubernetes geeft je meer controle over je registry, die je volledig naar eigen inzicht kunt configureren. Jij staat aan de knoppen en bepaalt dus zelf hoe dingen worden uitgerold.
Use case #2 – Verschillende registries voor development en productie hanteren
Harbor Kubernetes biedt features die je bij menig grote provider niet vindt. Zo is het hanteren van verschillende registries voor development en productie bij deze tool gebruikelijk. Harbor Kubernetes helpt je niet alleen bij het verzorgen van deze registries, maar zorgt tevens voor consistent beheer hiervan. Je kunt met Harbor Kubernetes daarnaast images synchroniseren tussen verschillende registries. Bijvoorbeeld als je een image van een testomgeving naar productie wil pushen of een testomgeving wilt dupliceren.
Use case #3 – Veiligheid naar hoger niveau tillen
De mogelijkheden van Harbor Kubernetes gaan echter verder. Zo omvat de open source tool ook allerlei functionaliteiten waarmee je de veiligheid van een gecontaineriseerde applicatie naar een hoger niveau tilt. Met Harbor Kubernetes kan je onder meer images scannen op bekende kwetsbaarheden, zodat deze proactief kunnen worden aangepakt. De tool toont direct de ernst van kwetsbaarheden, wat helpt bij het duiden van gedetecteerde problemen. Harbor Kubernetes maakt ook het signen (ondertekenen) van images mogelijk. Een andere mogelijkheid is het kunnen beveiligen van artifacts met behulp van security policies en toegangscontrole op basis van functie en rol.
Video: de basis van Harbor Kubernetes in drie minuten
In de onderstaande video legt Saiyam Pathak, Director of technical evangelism bij Civo Cloud en ambassadeur van het CNCF, in drie minuten de basis van Harbor Kubernetes uit.