Pods en Services debuggen
Gebruik kubectl-opdrachten en andere tools om slecht functionerende Pods en verbindingsproblemen effectief te debuggen.
Pods en Services debuggen is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Waarom debuggen belangrijk is
Als je applicaties zich in Kubernetes niet goed gedragen, is debuggen je superkracht! Het helpt je te begrijpen wat er misging en hoe je dit kunt oplossen.
Veelvoorkomende tekenen van problemen zijn:
- Pods die blijven hangen in de status 'Pending' of 'CrashLoopBackOff'.
- Services die niet bereikbaar zijn.
- Applicaties die niet reageren zoals verwacht.
We leren essentiële hulpmiddelen om deze problemen vast te stellen.
Je kubectl-debugkit
Kubernetes biedt krachtige opdrachtregelprogramma's, voornamelijk kubectl, waarmee je je cluster kunt inspecteren en problemen kunt oplossen.
De belangrijkste opdrachten die we vandaag bekijken zijn:
kubectl describe: Gedetailleerde informatie over resources ophalen.kubectl logs: Uitvoer van containers bekijken.kubectl exec: Opdrachten uitvoeren in containers.kubectl port-forward: Lokaal toegang krijgen tot services.
Als je deze opdrachten beheerst, word je een expert in het debuggen van Kubernetes!
Diepgaande inspectie met kubectl describe
De opdracht kubectl describe is je eerste halte voor gedetailleerde informatie over elke Kubernetes-resource, vooral Pods.
De opdracht levert veel gegevens, waaronder gebeurtenissen, status, IP-adressen, volumes en containerdetails. Zoek onderaan naar 'Events' voor aanwijzingen!
kubectl describe pod my-nginx-podClustergebeurtenissen begrijpen
Gebeurtenissen zijn essentieel om te begrijpen wat er met je Pods of andere resources is gebeurd. Ze vertellen het verhaal van aanmaak, planning, fouten en meer.
Je kunt gebeurtenissen voor een specifieke resource bekijken met describe, of clusterbrede gebeurtenissen bekijken met kubectl get events.
kubectl get events --sort-by='.lastTimestamp'Containerlogs ontcijferen
Applicaties schrijven meestal belangrijke berichten, fouten en informatie voor foutopsporing naar hun standaarduitvoer- en standaardfoutstromen. Met kubectl logs krijg je hier toegang toe.
Als een Pod crasht, is het essentieel om de logs te controleren zodat je begrijpt waarom dit gebeurt. Je kunt logs ook in realtime volgen.
kubectl logs my-app-pod -fOpdrachten uitvoeren in containers
Soms zijn logs bekijken niet genoeg. Mogelijk moet je opdrachten in een actieve container uitvoeren om problemen vast te stellen, net zoals wanneer je via SSH verbinding maakt met een server.
Met kubectl exec kun je opdrachten uitvoeren of zelfs rechtstreeks in een container een shell openen, zoals bash of sh.
kubectl exec -it my-app-pod -- /bin/bashLokale toegang met port-forward
Als je vermoedt dat een service niet bereikbaar is of je deze lokaal wilt testen zonder deze extern beschikbaar te maken, komt kubectl port-forward goed van pas.
Deze opdracht maakt een beveiligde tunnel van je lokale computer naar een Pod of Service in het cluster, zodat je deze via localhost kunt benaderen.
kubectl port-forward service/my-web-service 8080:80Problemen met Services vaststellen
Als je applicatie niet bereikbaar is via de bijbehorende Service, controleer je twee dingen:
- Selector van de Service: Komt deze correct overeen met de labels van je Pods?
- Endpoints: Heeft de Service actieve eindpunten, oftewel actieve Pods?
Gebruik kubectl get svc en kubectl get ep om deze te inspecteren.
kubectl get svc my-web-service
kubectl get ep my-web-serviceVeelvoorkomende problemen aanpakken
We bekijken twee veelvoorkomende problemen met Pods:
CrashLoopBackOff: De container wordt steeds opnieuw gestart en crasht vervolgens. Controleerkubectl logsop fouten.ImagePullBackOff: Kubernetes kan de container-image niet ophalen. Controleer de naam en tag van de image en de toegang tot de registry.
kubectl describe pod onthult vaak de oorspronkelijke oorzaak in de sectie 'Events'.
Uitdaging: debuggen!
Je merkt dat een Pod met de naam data-processor-xyz de status CrashLoopBackOff heeft. Je moet onderzoeken waarom deze crasht.
Welke twee van de volgende opdrachten zijn het belangrijkst om als eerste uit te voeren, zodat je de directe oorzaak kunt vaststellen?
Terugblik: debuggen beheersen
Goed gedaan! Je hebt geleerd hoe je belangrijke kubectl-opdrachten gebruikt om Pods en Services te debuggen:
kubectl describevoor gedetailleerde resource-informatie en gebeurtenissen.kubectl logsom te zien wat er in containers gebeurt.kubectl execvoor interactieve foutopsporing.kubectl port-forwardvoor lokale toegang tot services.
Deze hulpmiddelen zijn essentieel om je Kubernetes-applicaties soepel te laten werken. Blijf oefenen!
Leer DevOps-bootcamp 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
- 142
- Lessen
- 568
Veelgestelde vragen
Is de les “Pods en Services debuggen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Pods en Services debuggen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.
Wat leer ik in “Pods en Services debuggen”?
Gebruik kubectl-opdrachten en andere tools om slecht functionerende Pods en verbindingsproblemen effectief te debuggen. Je oefent met DevOps-bootcamp 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 DevOps-bootcamp te beginnen?
Ervaring vooraf is niet nodig. DevOps-bootcamp 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 “Pods en Services debuggen”?
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 DevOps-bootcamp?
Ja. Elke les over DevOps-bootcamp 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
- Veelvoorkomende problemen diagnosticeren
- Pods en Services debuggen
- Best practices en tips voor productie
- Resourcequota's en limietbereiken