Kubernetes-implementatie: Installatie en Lancering
Nu uw 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 definieert u de gewenste status van uw applicatie met behulp van YAML-bestanden. Eén bestand beschrijft een Deployment, die updates en schaalbaarheid beheert, terwijl een ander bestand een Service definieert, die uw 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 een lokale Kubernetes-cluster op uw computer kan worden uitgevoerd. Het creëert een virtuele omgeving waarin u Kubernetes kunt testen en verkennen zonder cloudservices nodig te hebben.
Na het installeren van Minikube en het toevoegen aan uw systeem-PATH, opent u PowerShell (of een andere gewenste terminal) en voert u het volgende uit:
Met dit commando wordt gecontroleerd of Minikube beschikbaar is en wordt de geïnstalleerde versie weergegeven.
Nadat 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 control plane en de worker nodes.
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 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 conflict tussen hen ontstaat.
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. Extern luistert deze 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 te verifiëren 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.
Verkrijg de Service-URL
Voer de volgende opdracht uit in PowerShell of je terminal om toegang te krijgen tot je applicatie:
Deze opdracht vraagt Minikube om de URL te retourneren waarop je applicatie beschikbaar is. Minikube controleert de Service die je hebt aangemaakt (my-app-service) en geeft een link die je in je 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 setup duidelijk en leesbaar, terwijl kubectl-commando's 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 (bijvoorbeeld 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.
What should I do if my pods are not starting as expected?
How can I update my application without downtime using Kubernetes?
Can you explain the difference between a Deployment and a Service in Kubernetes?
Geweldig!
Completion tarief verbeterd naar 3.7
Kubernetes-implementatie: Installatie en Lancering
Veeg om het menu te tonen
Nu uw 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 definieert u de gewenste status van uw applicatie met behulp van YAML-bestanden. Eén bestand beschrijft een Deployment, die updates en schaalbaarheid beheert, terwijl een ander bestand een Service definieert, die uw 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 een lokale Kubernetes-cluster op uw computer kan worden uitgevoerd. Het creëert een virtuele omgeving waarin u Kubernetes kunt testen en verkennen zonder cloudservices nodig te hebben.
Na het installeren van Minikube en het toevoegen aan uw systeem-PATH, opent u PowerShell (of een andere gewenste terminal) en voert u het volgende uit:
Met dit commando wordt gecontroleerd of Minikube beschikbaar is en wordt de geïnstalleerde versie weergegeven.
Nadat 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 control plane en de worker nodes.
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 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 conflict tussen hen ontstaat.
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. Extern luistert deze 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 te verifiëren 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.
Verkrijg de Service-URL
Voer de volgende opdracht uit in PowerShell of je terminal om toegang te krijgen tot je applicatie:
Deze opdracht vraagt Minikube om de URL te retourneren waarop je applicatie beschikbaar is. Minikube controleert de Service die je hebt aangemaakt (my-app-service) en geeft een link die je in je 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 setup duidelijk en leesbaar, terwijl kubectl-commando's 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 (bijvoorbeeld 3000) draaien zonder conflicten?
Bedankt voor je feedback!