Containertechnologie en in het specifiek Kubernetes is de afgelopen jaren snel in populariteit gegroeid. Niet verwonderlijk, want containers bieden belangrijke voordelen op het gebied van onder meer flexibiliteit, implementatie en ontwikkelsnelheid. Maar wat is K8s? In deze blogpost zoomen we in op Kubernetes, het ontstaan en de ontwikkeling van het containertechnologie project en de snelle groei die K8s doormaakt. Ook werpen we een blik op de toekomst.
📖 Leestijd: 6 minuten
Uitleg Kubernetes
K8s is een opensource containerorkestratieplatform dat het uitrollen, schalen en beheren van applicaties automatiseert. Het gaat hierbij specifiek om applicaties die als ‘container’ worden uitgerold. Deze containers bundelen de broncode van de toepassing met alle bijbehorende afhankelijkheden, bibliotheken en configuratiebestanden. Alles wat de container nodig heeft, is in de container geïntegreerd.
Meer informatie? Lees ook: Wat is Kubernetes?
K8s stroomlijnt het beheer van deze containers. Het containerorkestratieplatform is ontwikkeld door Google en medio 2014 aangekondigd. Het project droeg in eerste instantie de codenaam ‘Project 7’, iets waar vandaag de dag in het logo van Kubernetes nog naar wordt verwezen met een zevental spaken. Kubernetes versie 1.0 verscheen op 21 juli 2015.
Gedoneerd aan de opensource-gemeenschap
Kubernetes is door Google in maart 2016 gedoneerd aan de opensource-gemeenschap. Google sloeg hierbij de handen ineen met de Linux Foundation voor de oprichting van de Cloud Native Computing Foundation (CNCF). Het opensource Kubernetes wordt sindsdien door CNCF beheerd. CNCF bestaat sinds 2015.
Zo’n 35.000 gebruikers en meer dan 2.000 bedrijven dragen vandaag de dag bij aan de ontwikkeling van Kubernetes. In totaal zijn op het moment van schrijven 1,1 miljoen wijzigingen in de code aangebracht door leden van de opensource-community. Deze wijzigingen in de code zijn via 148.000 commits doorgestuurd naar het project. Ontwikkelaars deden in totaal 83.000 pull-verzoeken, waarmee zij andere ontwikkelaars verzoeken code toe te voegen aan het project.
Snelle groei van K8s
De bovenstaande cijfers laten zien dat Kubernetes in korte tijd fors is gegroeid. Verschillende factoren dragen hieraan bij. Zo zijn allerlei opensource-applicaties beschikbaar die het beheer van K8s ondersteunen en vereenvoudigen. We zetten enkele voorbeelden op een rijtje:
KubeEdge: Een opensource-systeem voor het uitrollen en beheren van containers in
edge-omgevingen. Bij edge computing worden verwerkingen dichter bij de bron uitgevoerd, waardoor minder data hoeft worden verstuurd en resultaten van verwerkingen sneller beschikbaar zijn. KubeEdge biedt onder meer ondersteuning voor het uitrollen van dergelijke applicaties en het synchroniseren van data tussen de cloud en edge-omgeving.
Operator Framework: Het Operator Framework is een raamwerk dat het beheer van Kubernetes applicaties vereenvoudigt. Het raamwerk neemt veel werk uit handen, waardoor het operationele team meer tijd overhoudt voor het uitvoeren van complexere taken. Het Operator Framework omvat onder meer een software development kit (SDK) voor de ontwikkeling van K8s applicaties en functionaliteiten voor het beheren van de levenscyclus van Kubernetes native applicaties, die ook operators worden genoemd.
Rancher K3s: Een lichtgewichtvariant van Kubernetes gericht op workloads die op locaties op afstand draaien. Denk hierbij aan applicaties in edge-omgevingen, Internet of Things-toepassingen, onbeheerde toepassingen of workloads op ver verwijderde locaties. K3s reduceert de hoeveelheid afhankelijkheden en stappen die nodig zijn voor het installeren, draaien en updaten van een Kubernetes-productiecluster.
Linkerd: Linkerd voegt een lichtgewicht servicemesh toe aan Kubernetes. Een servicemesh is een speciale infrastructuurlaag voor het faciliteren van communicatie tussen microservices. De service werkt direct ‘out-of-the-box’, zonder dat dit configuratie of API’s vereist. De servicemesh biedt een reeks diagnostische tools aan, waaronder realtime inzicht in dataverkeer en het geautomatiseerd in kaart brengen van afhankelijkheden.
Ondersteuning vanuit public cloud providers
Naast de beschikbaarheid van allerlei opensource-applicaties die het beheer vereenvoudigen, draagt ook ondersteuning van containers vanuit public cloud providers bij aan de snelle groei van K8s. Een voorbeeld is Microsoft, dat op dit vlak Azure Kubernetes Service (AKS) aanbiedt. Deze managed Kubernetes-service vereenvoudigt de implementatie en het beheer van containertoepassingen. Je krijgt onder meer een elastische inrichting van capaciteit tot je beschikking, wat in de praktijk betekent dat de capaciteit indien nodig automatisch wordt opgeschaald. Amazon Web Services (AWS) of Google Cloud leveren deze diensten ook.
Lees ook: 7 Kubernetes monitoring tools
Een blik op de toekomst
Gezien de voordelen die containers bieden is het geen verrassing dat het gebruik van K8s in de toekomst naar verwachting alleen maar toeneemt. Zo voorspelt onderzoeksbureau Gartner dat in 2022 ruim driekwart van alle wereldwijde organisaties in productieomgevingen gebruik maakt van applicatiecontainers. Dit percentage lag in 2019 nog op 30%.
Ook het recente The State of Enterprise Open Source-onderzoek van Red Hat onderschrijft dit. Ruim de helft (56%) van de respondenten verwacht in de toekomst meer gebruik te maken van containers. Uit het The State of Kubernetes 2020-rapport van VMware blijkt daarnaast dat één op de vier bedrijven inmiddels op jaarbasis meer dan 250.000 dollar uitgeeft aan containertechnologie.
Aan de slag met Kubernetes
Wil jij aan de slag met Kubernetes en profiteren van de voordelen van containers? De experts van True helpen je hierbij. Wij brengen je containerworkloads onder in een Kubernetes-cluster, nemen het beheer uit handen en denken mee over het efficiënt distribueren van containerworkloads.
Bekijk onze Managed Kubernetes dienst