Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als een pod een CrashLoopBackOff
status heeft, is de pod waarschijnlijk mislukt of onverwacht afgesloten en bevat het logboek een afsluitcode die niet nul is. Hier volgen verschillende mogelijke redenen waarom uw pod is vastgelopen in CrashLoopBackOff
modus.
- Toepassingsfout: de toepassing in de container loopt kort na het starten vast, vaak vanwege onjuiste configuraties, ontbrekende afhankelijkheden of onjuiste omgevingsvariabelen.
- Onjuiste resourcelimieten: Als de pod de CPU- of geheugenresourcelimieten overschrijdt, kan Kubernetes de container uitschakelen. Dit probleem kan optreden als resourceaanvragen of limieten te laag zijn ingesteld.
- Ontbrekende of onjuist geconfigureerde ConfigMaps/Geheimen: als de toepassing afhankelijk is van configuratiebestanden of omgevingsvariabelen die zijn opgeslagen in ConfigMaps of Geheimen, maar ze ontbreken of onjuist zijn geconfigureerd, kan de toepassing vastlopen.
- Problemen met het ophalen van installatiekopieën: als er een probleem is met de installatiekopie (bijvoorbeeld beschadigd of een onjuiste tag heeft), start de container mogelijk niet correct en mislukt deze herhaaldelijk.
- Init-containers mislukken: als de pod init-containers heeft en een of meer containers niet goed kunnen worden uitgevoerd, wordt de pod opnieuw opgestart.
- Liveness/Readiness probe failures: Als de liveness- of gereedheidsprobes onjuist zijn geconfigureerd, kan Kubernetes de container detecteren als ongezond en opnieuw opstarten.
- Toepassingsafhankelijkheden die niet gereed zijn: de toepassing is mogelijk afhankelijk van services die nog niet gereed zijn, zoals databases, berichtenwachtrijen of andere API's.
- Netwerkproblemen: netwerkfouten kunnen verhinderen dat de toepassing communiceert met de benodigde services, waardoor deze mislukt.
-
Ongeldige opdrachten of argumenten: de container kan worden gestart met een ongeldige
ENTRYPOINT
, opdracht of argument, wat leidt tot een crash.
Zie Pod Lifecycle - Containerstatussen voor meer informatie over de containerstatus.
Houd rekening met de volgende opties en de bijbehorende kubectl-opdrachten .
Optie | kubectl-opdracht |
---|---|
De pod debuggen zelf | kubectl describe pod <pod-name> |
Fouten opsporen in de replicatiecontrollers | kubectl describe replicationcontroller <controller-name> |
Het beëindigingsbericht lezen | kubectl get pod <pod-name> --output=yaml |
De logboeken controleren | kubectl logs <pod-name> |
Notitie
Een pod kan ook een CrashLoopBackOff
status hebben als de implementatie is voltooid, maar deze is geconfigureerd om opnieuw op te starten, zelfs als de afsluitcode nul is. Als u een busybox-image implementeert zonder specifieke argumenten op te geven, dan wordt de image gestart, uitgevoerd, voltooid en vervolgens opnieuw opgestart in een lus.
$ kubectl run nginx --image nginx
pod/nginx created
$ kubectl run busybox --image busybox
pod/busybox created
$ kubectl get pods --watch
NAME READY STATUS RESTARTS AGE
busybox 0/1 ContainerCreating 0 3s
nginx 1/1 Running 0 11s
busybox 0/1 Completed 0 3s
busybox 0/1 Completed 1 4s
busybox 0/1 CrashLoopBackOff 1 5s
$ kubectl describe pod busybox
Name: busybox
Namespace: default
Priority: 0
Node: aks-nodepool<number>-<resource-group-hash-number>-vmss<number>/<ip-address-1>
Start Time: Wed, 16 Aug 2023 09:56:19 +0000
Labels: run=busybox
Annotations: <none>
Status: Running
IP: <ip-address-2>
IPs:
IP: <ip-address-2>
Containers:
busybox:
Container ID: containerd://<64-digit-hexadecimal-value-1>
Image: busybox
Image ID: docker.io/library/busybox@sha256:<64-digit-hexadecimal-value-2>
Port: <none>
Host Port: <none>
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Completed
Exit Code: 0
Started: Wed, 16 Aug 2023 09:56:37 +0000
Finished: Wed, 16 Aug 2023 09:56:37 +0000
Ready: False
Restart Count: 2
Als u het probleem niet herkent nadat u meer pods op het knooppunt hebt gemaakt, voert u een pod uit op één knooppunt om te bepalen hoeveel resources de pod daadwerkelijk gebruikt.
Informatiedisclaimer van derden
De producten van derden die in dit artikel worden vermeld, worden vervaardigd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestaties of de betrouwbaarheid van deze producten.
Contacteer ons voor hulp
Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.