Kubernetes-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.
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
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
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
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?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.7
Kubernetes-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.
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
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
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
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?
Bedankt voor je feedback!