
Wat is Kubernetes en hoe werkt het?
De afgelopen jaren worden moderne toepassingen steeds meer gebouwd met behulp van containers. Voor deze containers heb je uiteraard ook implementatie software nodig. Dus gebruik je Kubernetes! Maak jij nog geen gebruik van deze opensource-software? Lees hier hoe je het doet en waarom!
Wat is Kubernetes?
Kubernetes is een draagbaar en open-source platform voor workloads en services die in containers zitten. Door middel van Kubernetes kun je containers op grote schaal implementeren en beheren. Je kunt het gebruiken om sneller apps in containers te bouwen, leveren en schalen. Het werkt als volgt: een container is een verplaatsbaar pakketje software waar alle onderdelen in zitten die een applicatie nodig heeft om te draaien. Hierdoor worden resources van de computer efficiënter benut. Wat zijn de voordelen van Kubernetes? Je kunt het makkelijk en veilig verplaatsen zonder dat je veel aan hoeft te passen aan de nieuwe en oude omgeving van de container. Wanneer toepassingen meerdere containers omvatten die op meerdere servers worden geïmplementeerd neemt de operationele complexiteit razendsnel toe. Je moet namelijk verschillende fronten tegelijk managen én je moet heel veel containers tegelijk beheren. Kubernetes biedt hiervoor de oplossing. Kubernetes is namelijk een Application Programming Interface -API- waarmee je kunt beheren hoe en waar deze containers worden uitgevoerd.
Hoe werkt Kubernetes?
De containers op al de verschillende fronten worden gegroepeerd in pods, wat de basiseenheden zijn voor Kubernetes. Deze pods kun je naar hartenlust schalen. Het enige wat zo’n pod doet is het doorsturen van acties voor de container, maar dit is nodig voor de structuur van Kubernetes. De deployments beheren de pods. Mocht een pod falen, dan regelt de deployment een nieuwe. Het opschalen of juist het reduceren van het aantal pods gebeurt bij de deployment. Boven de deployment zit nog de services en deze regelen de communicatie tussen de deployments. Ook communicatie vanuit een pod naar een andere loopt via de service. Hieronder zie je de hiërarchische opbouw van de Kubernetes.
De voordelen van Kubernetes
De meeste voordelen zijn hiervoor al voorbij gekomen, maar hier worden ze nog eens expliciet benoemd. Ten eerste heeft Kubernetes een zeer hoge draagbaarheid. Je kunt moeiteloos workloads in containers van lokale computers of machines naar een andere toepassing verplaatsen. Je kunt op deze manier al je verschillende omgevingen heel consistent organiseren. Uiteraard geldt dit voor zowel on-premise als cloud infrastructuren. Ten tweede kun je met Kubernets heel eenvoudig je toepassingen opschalen. Wanneer je complexe toepassingen in een container plaatst kun je ze zo vaak kopiëren als jij wilt. Door de ingebouwde functie voor opschalen kan Kubernetes alle containers horizontaal schalen. Terwijl Kubernetes dit doet, wordt automatisch de status van containers gecontroleerd en onderhouden. Mocht er een container defect zijn, dan vervangt Kubernetes deze gelijk. Tot slot is Kubernetes open source. Dit zorgt ervoor dat iedereen altijd toegang heeft tot een groeiende verzameling uitbreidingen en invoegtoepassingen. Deze worden allemaal gemaakt door open-source developers uit de Kubernetes community.
GKE, AKS en EKS
Ondanks dat het open-source software is, en het dus gemakkelijk te verkrijgen is, is het handig om het van een gerenommeerde software ontwikkelaar af te nemen. Zo heeft Google de Google Kubernetes Engine -GKE-, Microsoft de Azure Kubernetes Service -AKS- en Amazon de Amazon Elastic Container Service for Kubernetes-EKS-. Welke moet je nu kiezen? Google heeft de meest geavanceerde service voor Kubernetes. Dit zie je bijvoorbeeld terug in Stackdriver. Stackdriver is het geïntegreerde monitoring platform waarmee je alle resources kunt beheren. Hierdoor heb je altijd overzicht en kun je dingen eenvoudig bijsturen. Hoewel Google de bedenker is van Kubernetes, en het daarom zeer geavanceerd is, is de service van Microsoft ook zeker de moeite waard. Aangezien de meeste mensen bekend zijn met een Microsoft omgeving voelt deze intuïtiever aan. De combinatie met Azure en de goede availability ervan maken dit een geduchte concurrent van Google. De Kubernetes van Amazon is goed om te nemen wanneer je in een AWS omgeving je werk uitvoert. Daarnaast is het opschalen met Amazon vrijwel volledig automatisch, op enkele handelingen na. De Node Pools, die het cluster toestaan om verschillende type machines, zoals RAM en CPU, te gebruiken voor verschillende workloads, zijn goed geïntegreerd in de service van Google en Amazon. Dit heeft als voordeel dat je meerdere componenten kunt integreren in je Kubernetes systeem. Voor alle services geldt: lees je goed in, kijk op Stack Overflow naar reviews en probeer het gewoon uit!
Kom een training volgen!
Nu jij weet wat Kubernetes is ben je hopelijk overtuigd dat Kubernetes een must-have kan zijn voor jouw toepassingen. Echter zijn deze niet zo eenvoudig te implementeren als je denkt. Daarvoor kun je het beste een training komen volgen bij Master it Training. De beste training die je kunt volgen voor Kubernetes is de training Microsoft Azure Architect Technologies -AZ-300 examen-. Hier leer je over de AKS, Azure Infrastructuur, Azure workloads en over apps in de Cloud. Wil je meer informatie over deze training, neem dan gerust contact op met onze adviseurs op het nummer 040 23 23 390. Daarnaast kun je mailen naar info@master-it.nl of chatten in het venster dat rechts-onderin te zien is in je beeldscherm. Zij helpen je graag op weg naar een geweldige training!