Kubernetes

Kubernetes is een orkestratieplatform voor containers: uitrollen, schalen, herstel en load balancing over clusters. Zo blijft software voorspelbaar, ook wanneer je schaalt of een node tijdelijk uitvalt.

  • Herstelt crashes automatisch en verminderd downtime.

  • Werkt op elke cloud en eigen servers.

  • Meest gebruikte platform voor professionele omgevingen.

Kubernetes in de praktijk

Beginnen bij de basis

Een goede technische basis helpt om software later uit te breiden en Woordenboek · In het kortschaalbaarheidSchaalbaarheid is de mate waarin software, infrastructuur of een proces meer of minder werk kan verwerken zonder een ingrijpende verbouwing of onaanvaardbaar prestatieverlies.Lees meer. Woordenboek · In het kortcontainerEen container is een afgeschermd applicatieproces met de bestanden en instellingen die het nodig heeft. Containers op dezelfde machine delen doorgaans de kernel van het besturingssysteem.Lees meer ondersteunen dit door de software en de benodigde onderdelen samen te verpakken.

Wat is containerisatie?

Als je software op een server installeert, moet je met veel zaken rekening houden. Draait het juiste besturingssysteem op de server? Moet er met meerdere servers gecommuniceerd gaan worden? Zijn alle configuratiebestanden aanwezig? En dan hebben we het nog niet eens gehad over de gevolgen als je zou wisselen van Woordenboek · In het kortcloudDe cloud is een verzamelnaam voor rekenkracht, opslag, databases en software die via een netwerk beschikbaar zijn, meestal vanuit datacenters van een externe aanbieder.Lees meer. Een van de oplossingen voor deze vraagstukken is containerisatie: het inpakken van softwarecode (en alle bibliotheken, besturingssystemen en configuraties die nodig zijn om de code uit te voeren) in een enkel bestand genaamd een ‘container’. Door dit inpakken kan de software uniform en consistent op elke infrastructuur draaien.

Duidelijkheid over development

Met containers kan het developmentteam vooraf afspreken welke tools en instellingen de applicatie nodig heeft. Een nieuwe tool installeren we in de container, zodat deze met de applicatie meegaat. Dat maakt het eenvoudiger om software van een ontwikkelcomputer naar een test- of productieomgeving te verplaatsen.

Containers in een raster

De rol van Kubernetes

‘Kubernetes’ (klinkt als ‘koe-ber-neet-ies’) is containerorkestratiesoftware. Op het moment dat jij een grote applicatie hebt, dan zal deze bestaan uit verschillende functionaliteiten. Al deze onderdelen zitten in een eigen container. Kubernetes is het ecosysteem waarmee je al je verschillende containers en hun mogelijkheden automatiseert. Het helpt je communiceren met je verschillende containers en automatiseert enorm veel. Er zijn meer tools die ongeveer hetzelfde doen (zoals ECS en Docker Swarm), maar Kubernetes is al jaren de marktleider.

Efficiënt automatiseren

Kubernetes kan ook het schalen en verdelen van verkeer automatiseren. Krijgt een website veel meer bezoekers, dan kan Kubernetes extra containers starten en het verkeer daarover verdelen. Zo helpt het om pieken in gebruik op te vangen.

Schalen met containers

Kubernetes helpt om applicaties op te schalen. Doordat je volledige applicatie in containers draait, is het eenvoudig om losse containers te upgraden of updaten (zelfs terwijl ze in gebruik zijn). Zo kan je precies toevoegingen of aanpassingen doen op die plekken waar het meeste winst te behalen valt. Kubernetes ondersteunt ook horizontaal schalen: het verdelen van de applicatie over meerdere servers. De containerstructuur maakt verschillende softwareonderdelen eenvoudig verplaatsbaar, zonder dat je alles opnieuw moet configureren.

Servercapaciteit besparen met Knative

Maar het kan nóg efficiënter! Op het moment dat (delen van) applicaties niet worden gebruikt, hebben ze ook geen servercapaciteit nodig. Daarom maken we ook nog gebruik van ‘Knative’. Knative helpt ons om serverruimte beschikbaar te stellen, maar alleen als daar om wordt gevraagd. Applicaties draaien dus niet meer standaard in de achtergrond, maar worden opgestart op het moment dat iemand er om vraagt. Door deze combinatie van Kubernetes en Knative maken we optimaal gebruik van serverruimte én tijd.

Waar Kubernetes praktisch waarde heeft

In publieke cases als iPhoned en SGI Compliance zie je Kubernetes terug in omgevingen waar snelle Woordenboek · In het kortreleaseEen release is een herkenbare versie van software die is klaargemaakt om beschikbaar te stellen aan gebruikers. Zo'n versie bundelt een of meer gecontroleerde wijzigingen.Lees meer en stabiliteit tegelijk nodig zijn. We gebruiken het daar voor gecontroleerde Woordenboek · In het kortdeploymentEen deployment is het proces waarmee een gekozen versie van software in een doelomgeving wordt geïnstalleerd en gestart, zodat die daar getest of gebruikt kan worden.Lees meer, schalen onder Woordenboek · In het kortpiekbelastingPiekbelasting is de tijdelijke hoge belasting van een systeem wanneer veel gebruikers, verzoeken of taken tegelijk capaciteit vragen.Lees meer en sneller releasen, vaak in samenhang met Review Apps en Woordenboek · In het kortCI/CDCI/CD is een werkwijze waarbij teams softwarewijzigingen vaak samenvoegen, automatisch controleren en via een vaste reeks stappen voorbereiden op of uitrollen naar productie.Lees meer.

Niet elk project heeft daarvoor meteen Kubernetes nodig. Als een omgeving klein blijft en het operationele model simpel is, kan een lichtere aanpak beter passen. Juist daarom behandelen we Kubernetes als een serieuze infrastructuurkeuze, niet als standaardantwoord op elk containerprobleem.


Key takeaways

  • Containers maken software makkelijker te verplaatsen tussen omgevingen.

  • Automatisch schalen helpt om servercapaciteit af te stemmen op het gebruik.

  • Als een container crasht, kan Kubernetes automatisch een nieuwe starten om uitval te beperken.

  • Een applicatie moet cloud native zijn, wil het werken met deze software (maar daar kunnen we je wel mee helpen!).

CONTACT

Neem contact met ons op

Heb je een vraag of wil je sparren over je software? Laat je gegevens achter, dan nemen we snel contact met je op.