Delen via


Pod is vastgelopen in CrashLoopBackOff-modus

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.

  1. Toepassingsfout: de toepassing in de container loopt kort na het starten vast, vaak vanwege onjuiste configuraties, ontbrekende afhankelijkheden of onjuiste omgevingsvariabelen.
  2. 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.
  3. 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.
  4. 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.
  5. Init-containers mislukken: als de pod init-containers heeft en een of meer containers niet goed kunnen worden uitgevoerd, wordt de pod opnieuw opgestart.
  6. Liveness/Readiness probe failures: Als de liveness- of gereedheidsprobes onjuist zijn geconfigureerd, kan Kubernetes de container detecteren als ongezond en opnieuw opstarten.
  7. Toepassingsafhankelijkheden die niet gereed zijn: de toepassing is mogelijk afhankelijk van services die nog niet gereed zijn, zoals databases, berichtenwachtrijen of andere API's.
  8. Netwerkproblemen: netwerkfouten kunnen verhinderen dat de toepassing communiceert met de benodigde services, waardoor deze mislukt.
  9. 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.