Basiskennis van systeemontwerp voor backendontwikkelaars · Les

Containerisatie met Docker en K8s

Beheers Docker voor het containeriseren van applicaties en Kubernetes voor het orkestreren van gecontaineriseerde workloads op grote schaal.

Les 2 van 411 stappen

Containerisatie met Docker en K8s is een gratis Basiskennis van systeemontwerp voor backendontwikkelaars-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Basiskennis van systeemontwerp voor backendontwikkelaars. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Basiskennis van systeemontwerp voor backendontwikkelaars bevat in totaal 4 lessen.

Welkom bij containerisatie!

Welkom bij deze les over containerisatie met Docker en Kubernetes! In moderne cloudomgevingen is het belangrijk om applicaties efficiënt te verpakken en te beheren.

Je leert hoe Docker-containers je apps bundelen en hoe Kubernetes ze op schaal orkestreert, zodat je systemen robuust en flexibel worden.

Wat zijn containers?

Stel je een kleine, zelfstandige doos voor je applicatie voor. Dat is een container!

  • Geïsoleerd: Elke container voert zijn eigen app en afhankelijkheden uit, gescheiden van andere containers.
  • Draagbaar: Werkt op dezelfde manier op elke machine met een containerruntime.
  • Lichtgewicht: Deelt de kernel van het hostbesturingssysteem, in tegenstelling tot zwaardere virtuele machines (VM's).

Deze consistentie lost het probleem "het werkt op mijn machine" op.

Maak kennis met Docker: de containerengine

Docker is het populairste platform voor het bouwen, delen en uitvoeren van containers. Het biedt de tools om deze geïsoleerde omgevingen te maken.

  • Docker Engine: De kernsoftware die containers uitvoert en beheert.
  • Docker Image: Een alleen-lezen sjabloon met instructies voor het maken van een container.
  • Docker Container: Een uitvoerbare instantie van een Docker-image.

Een Dockerfile maken

Een Dockerfile is een tekstbestand dat alle opdrachten bevat die een gebruiker op de opdrachtregel kan uitvoeren om een image samen te stellen.

Het is als een recept voor je container. Hier zijn enkele veelgebruikte instructies:

  • FROM: Basisimage (bijvoorbeeld Python, Node.js).
  • WORKDIR: Stelt de werkmap in.
  • COPY: Kopieert bestanden uit je project naar de image.
  • RUN: Voert opdrachten uit (bijvoorbeeld afhankelijkheden installeren).
  • CMD: Standaardopdracht die wordt uitgevoerd wanneer de container start.

Eenvoudige Python-app voor Docker

Laten we kijken naar een zeer eenvoudige Python-applicatie die we zouden kunnen containeriseren. Dit is de code die in je Docker-container zou staan.

Probeer dit voorbeeld uit te voeren:

print("Hello from inside the container!")

Bouwen en uitvoeren met Docker

Zodra je een Dockerfile en de code van je applicatie hebt (zoals het Python-script), kun je een image bouwen en een container uitvoeren.

  • Image bouwen: docker build -t my-python-app . (-t voorziet de image van een tag en . gebruikt de huidige map voor de Dockerfile)
  • Container uitvoeren: docker run my-python-app

Hiermee wordt een container op basis van je image gemaakt en gestart, waarna de app daarin wordt uitgevoerd.

Waarom Kubernetes? Orkestratie

Eén container uitvoeren is eenvoudig. Honderden of duizenden containers verspreid over veel servers uitvoeren is moeilijk! Daar komt Kubernetes (K8s) om de hoek kijken.

K8s is een opensourcesysteem voor het automatiseren van implementatie, schaling en beheer van gecontaineriseerde applicaties. Het fungeert als een "orchestrator" voor je containers.

Kubernetes-pods: de basis

In Kubernetes is de kleinste implementeerbare eenheid een Pod. Een Pod is een abstractie boven op containers.

  • Een Pod vertegenwoordigt één instantie van een applicatie.
  • Een Pod bevat meestal één (of enkele nauw samenwerkende) containers.
  • Pods delen netwerk- en opslagresources.
  • Ze zijn tijdelijk: als een Pod uitvalt, maakt K8s een nieuwe.

Kubernetes-implementaties: pods beheren

Pods handmatig beheren is omslachtig. Deployments zijn objecten op een hoger niveau in K8s die de levenscyclus van pods beheren.

Met een Deployment kun je:

  • Het gewenste aantal replicapods opgeven.
  • Updates naar nieuwe versies zonder downtime uitvoeren.
  • Teruggaan naar vorige versies als er problemen ontstaan.
  • Ervoor zorgen dat altijd een opgegeven aantal pods actief is.

Test je kennis van containers

Welke van de volgende uitspraken beschrijven correct de voordelen van het gebruik van containers en containerorkestratie?

Samenvatting: Docker en Kubernetes

Je hebt een grote stap gezet in cloud-native ontwikkeling!

  • Containers verpakken apps en afhankelijkheden in geïsoleerde, draagbare eenheden.
  • Docker is de populaire tool om deze containers te bouwen en uit te voeren.
  • Kubernetes orkestreert containers op grote schaal en automatiseert implementatie, schaling en beheer.

Samen vormen ze de basis voor het bouwen van veerkrachtige, schaalbare moderne applicaties.

Gratis beginnen

Leer Basiskennis van systeemontwerp voor backendontwikkelaars met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Containerisatie met Docker en K8s” gratis?

Ja — de volledige tekst van “Containerisatie met Docker en K8s” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Basiskennis van systeemontwerp voor backendontwikkelaars wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Basiskennis van systeemontwerp voor backendontwikkelaars bevat in totaal 4 lessen.

Wat leer ik in “Containerisatie met Docker en K8s”?

Beheers Docker voor het containeriseren van applicaties en Kubernetes voor het orkestreren van gecontaineriseerde workloads op grote schaal. Je oefent met Basiskennis van systeemontwerp voor backendontwikkelaars door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Basiskennis van systeemontwerp voor backendontwikkelaars te beginnen?

Ervaring vooraf is niet nodig. Basiskennis van systeemontwerp voor backendontwikkelaars op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Containerisatie met Docker en K8s”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Basiskennis van systeemontwerp voor backendontwikkelaars?

Ja. Elke les over Basiskennis van systeemontwerp voor backendontwikkelaars bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Serverless architecturen
  2. Containerisatie met Docker en K8s
  3. Observability en gedistribueerde tracing
  4. Infrastructuur als code
← Terug naar Basiskennis van systeemontwerp voor backendontwikkelaars