Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Kubernetes-implementatie: Installatie en Lancering | CI/CD & Automatisering
Introductie tot DevOps

bookKubernetes-implementatie: Installatie en Lancering

Nu je applicatie soepel draait binnen containers, is de volgende uitdaging het orkestreren en beheren van deze containers op schaal. Dit is waar Kubernetes van pas komt.

Om te beginnen definieer je de gewenste status van je applicatie met behulp van YAML-bestanden. Eén bestand beschrijft een Deployment, die verantwoordelijk is voor updates en schaalbaarheid, terwijl een ander bestand een Service definieert, die je applicatie aan het netwerk blootstelt en toegankelijk maakt voor gebruikers.

Note
Meer leren

YAML (YAML Ain't Markup Language) is een voor mensen leesbaar formaat voor configuratiebestanden. Het wordt vaak gebruikt om infrastructuur te beschrijven, processen te automatiseren en applicatie-instellingen op te slaan.

Een Deployment zorgt ervoor dat het gewenste aantal applicatie-instanties (Pods) altijd actief is en maakt het eenvoudig om updates uit te rollen of terug te draaien naar eerdere versies. Een Service stelt deze containers bloot aan het netwerk en verdeelt het inkomende verkeer tussen hen.

Minikube uitvoeren

Note
Definitie

Minikube is een lichtgewicht hulpmiddel waarmee je een lokale Kubernetes-cluster op je computer kunt uitvoeren. Het creëert een virtuele omgeving waarin je Kubernetes kunt testen en verkennen zonder cloudservices nodig te hebben.

Na het installeren van Minikube en het toevoegen aan je systeem-PATH, open je PowerShell (of een andere gewenste terminal) en voer je het volgende uit:

Dit commando controleert of Minikube beschikbaar is en toont de geïnstalleerde versie.

Zodra je hebt bevestigd dat Minikube is geïnstalleerd, start je je lokale Kubernetes-cluster met:

Dit commando maakt en start een lokaal Kubernetes-cluster op je machine. Het downloadt de benodigde componenten en start het controlevlak en de werkernodes.

Deployment: Applicatie-uitrol

Begin met het aanmaken van het bestand deployment.yaml. Een Deployment in Kubernetes zorgt ervoor dat een specifiek aantal Pods (applicatie-instanties) altijd actief zijn en dat deze zonder downtime kunnen worden bijgewerkt of teruggedraaid.

deployment.yaml

deployment.yaml

copy

In dit manifest specificeert de parameter replicas hoeveel Pod-instanties gelijktijdig moeten draaien — in dit geval twee. Om te bepalen welke Pods beheerd moeten worden, gebruikt de Deployment een combinatie van selector en labels: de selector fungeert als filter om Pods met een specifiek label te vinden, en het Pod-sjabloon definieert dat label. Wanneer de labels overeenkomen, beschouwt de Deployment deze Pods als zijn eigen en zorgt voor het behouden van hun aantal, het bijwerken ervan en het opnieuw opstarten indien nodig.

Alle Pods draaien op poort 3000. Ze kunnen allemaal dezelfde poort gebruiken omdat elke Pod in zijn eigen geïsoleerde netwerkruimte opereert, waardoor er geen conflicten tussen hen ontstaan.

Service: Netwerktoegang tot de applicatie

Zodra de Deployment is opgezet, is een Service nodig om netwerktoegang en load balancing tussen Pods te bieden. Maak het bestand service.yaml aan:

service.yaml

service.yaml

copy

Dit manifest definieert een Service genaamd my-app-service die verkeer doorstuurt naar Pods met het label app: my-app. Het luistert extern op poort 80 en stuurt verzoeken door naar poort 3000 binnen de Pods.

Het type LoadBalancer is belangrijk omdat het de applicatie extern beschikbaar maakt en het verkeer over de Pods verdeelt.

Applicatie implementeren in Kubernetes

Zodra de YAML-bestanden gereed zijn, kunnen deze op het cluster worden toegepast:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

Het commando kubectl apply -f maakt resources aan of werkt deze bij in het cluster op basis van de inhoud van het YAML-bestand.

Status controleren

Na het toepassen van de configuratiebestanden is het belangrijk om te bevestigen dat alles naar verwachting is uitgerold. Omdat Pods en Services even nodig hebben om te starten, begin met het weergeven van de actieve Pods:

Als het bestand deployment.yaml replicas: 2 specificeert, zouden twee Pods in de uitvoer moeten verschijnen.

Om te bevestigen dat de Service actief en bereikbaar is:

Hiermee worden het IP-adres van de Service en de poorten weergegeven waarmee de applicatie toegankelijk is.

Haal de Service-URL op

Om toegang te krijgen tot uw applicatie, voert u de volgende opdracht uit in PowerShell of uw terminal:

Deze opdracht vraagt Minikube om de URL te retourneren waarop uw applicatie beschikbaar is. Minikube controleert de door u aangemaakte Service (my-app-service) en geeft een link die u in uw browser kunt openen.

Schalen van de applicatie

Kubernetes maakt het eenvoudig om het aantal actieve Pods aan te passen zonder de applicatie te stoppen.

Bijvoorbeeld, om van 2 naar 4 replica's te schalen:

Het opnieuw uitvoeren van kubectl get pods toont nu vier actieve Pods.

Kubernetes biedt krachtige tools voor het beheren van gecontaineriseerde applicaties op elke schaal. Een Deployment zorgt ervoor dat het juiste aantal Pods actief is en kan eenvoudig worden bijgewerkt of teruggedraaid. Een Service stelt de applicatie bloot aan het netwerk en verdeelt het inkomende verkeer. YAML-configuratiebestanden maken de inrichting overzichtelijk en leesbaar, terwijl kubectl-opdrachten het mogelijk maken deze configuraties in realtime toe te passen en te beheren.

1. Wat is het belangrijkste doel van een Deployment in Kubernetes?

2. Waarom kunnen meerdere Pods op hetzelfde poortnummer (bijv. 3000) draaien zonder conflicten?

question mark

Wat is het belangrijkste doel van een Deployment in Kubernetes?

Select the correct answer

question mark

Waarom kunnen meerdere Pods op hetzelfde poortnummer (bijv. 3000) draaien zonder conflicten?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 9

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 3.7

bookKubernetes-implementatie: Installatie en Lancering

Veeg om het menu te tonen

Nu je applicatie soepel draait binnen containers, is de volgende uitdaging het orkestreren en beheren van deze containers op schaal. Dit is waar Kubernetes van pas komt.

Om te beginnen definieer je de gewenste status van je applicatie met behulp van YAML-bestanden. Eén bestand beschrijft een Deployment, die verantwoordelijk is voor updates en schaalbaarheid, terwijl een ander bestand een Service definieert, die je applicatie aan het netwerk blootstelt en toegankelijk maakt voor gebruikers.

Note
Meer leren

YAML (YAML Ain't Markup Language) is een voor mensen leesbaar formaat voor configuratiebestanden. Het wordt vaak gebruikt om infrastructuur te beschrijven, processen te automatiseren en applicatie-instellingen op te slaan.

Een Deployment zorgt ervoor dat het gewenste aantal applicatie-instanties (Pods) altijd actief is en maakt het eenvoudig om updates uit te rollen of terug te draaien naar eerdere versies. Een Service stelt deze containers bloot aan het netwerk en verdeelt het inkomende verkeer tussen hen.

Minikube uitvoeren

Note
Definitie

Minikube is een lichtgewicht hulpmiddel waarmee je een lokale Kubernetes-cluster op je computer kunt uitvoeren. Het creëert een virtuele omgeving waarin je Kubernetes kunt testen en verkennen zonder cloudservices nodig te hebben.

Na het installeren van Minikube en het toevoegen aan je systeem-PATH, open je PowerShell (of een andere gewenste terminal) en voer je het volgende uit:

Dit commando controleert of Minikube beschikbaar is en toont de geïnstalleerde versie.

Zodra je hebt bevestigd dat Minikube is geïnstalleerd, start je je lokale Kubernetes-cluster met:

Dit commando maakt en start een lokaal Kubernetes-cluster op je machine. Het downloadt de benodigde componenten en start het controlevlak en de werkernodes.

Deployment: Applicatie-uitrol

Begin met het aanmaken van het bestand deployment.yaml. Een Deployment in Kubernetes zorgt ervoor dat een specifiek aantal Pods (applicatie-instanties) altijd actief zijn en dat deze zonder downtime kunnen worden bijgewerkt of teruggedraaid.

deployment.yaml

deployment.yaml

copy

In dit manifest specificeert de parameter replicas hoeveel Pod-instanties gelijktijdig moeten draaien — in dit geval twee. Om te bepalen welke Pods beheerd moeten worden, gebruikt de Deployment een combinatie van selector en labels: de selector fungeert als filter om Pods met een specifiek label te vinden, en het Pod-sjabloon definieert dat label. Wanneer de labels overeenkomen, beschouwt de Deployment deze Pods als zijn eigen en zorgt voor het behouden van hun aantal, het bijwerken ervan en het opnieuw opstarten indien nodig.

Alle Pods draaien op poort 3000. Ze kunnen allemaal dezelfde poort gebruiken omdat elke Pod in zijn eigen geïsoleerde netwerkruimte opereert, waardoor er geen conflicten tussen hen ontstaan.

Service: Netwerktoegang tot de applicatie

Zodra de Deployment is opgezet, is een Service nodig om netwerktoegang en load balancing tussen Pods te bieden. Maak het bestand service.yaml aan:

service.yaml

service.yaml

copy

Dit manifest definieert een Service genaamd my-app-service die verkeer doorstuurt naar Pods met het label app: my-app. Het luistert extern op poort 80 en stuurt verzoeken door naar poort 3000 binnen de Pods.

Het type LoadBalancer is belangrijk omdat het de applicatie extern beschikbaar maakt en het verkeer over de Pods verdeelt.

Applicatie implementeren in Kubernetes

Zodra de YAML-bestanden gereed zijn, kunnen deze op het cluster worden toegepast:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

Het commando kubectl apply -f maakt resources aan of werkt deze bij in het cluster op basis van de inhoud van het YAML-bestand.

Status controleren

Na het toepassen van de configuratiebestanden is het belangrijk om te bevestigen dat alles naar verwachting is uitgerold. Omdat Pods en Services even nodig hebben om te starten, begin met het weergeven van de actieve Pods:

Als het bestand deployment.yaml replicas: 2 specificeert, zouden twee Pods in de uitvoer moeten verschijnen.

Om te bevestigen dat de Service actief en bereikbaar is:

Hiermee worden het IP-adres van de Service en de poorten weergegeven waarmee de applicatie toegankelijk is.

Haal de Service-URL op

Om toegang te krijgen tot uw applicatie, voert u de volgende opdracht uit in PowerShell of uw terminal:

Deze opdracht vraagt Minikube om de URL te retourneren waarop uw applicatie beschikbaar is. Minikube controleert de door u aangemaakte Service (my-app-service) en geeft een link die u in uw browser kunt openen.

Schalen van de applicatie

Kubernetes maakt het eenvoudig om het aantal actieve Pods aan te passen zonder de applicatie te stoppen.

Bijvoorbeeld, om van 2 naar 4 replica's te schalen:

Het opnieuw uitvoeren van kubectl get pods toont nu vier actieve Pods.

Kubernetes biedt krachtige tools voor het beheren van gecontaineriseerde applicaties op elke schaal. Een Deployment zorgt ervoor dat het juiste aantal Pods actief is en kan eenvoudig worden bijgewerkt of teruggedraaid. Een Service stelt de applicatie bloot aan het netwerk en verdeelt het inkomende verkeer. YAML-configuratiebestanden maken de inrichting overzichtelijk en leesbaar, terwijl kubectl-opdrachten het mogelijk maken deze configuraties in realtime toe te passen en te beheren.

1. Wat is het belangrijkste doel van een Deployment in Kubernetes?

2. Waarom kunnen meerdere Pods op hetzelfde poortnummer (bijv. 3000) draaien zonder conflicten?

question mark

Wat is het belangrijkste doel van een Deployment in Kubernetes?

Select the correct answer

question mark

Waarom kunnen meerdere Pods op hetzelfde poortnummer (bijv. 3000) draaien zonder conflicten?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 9
some-alt