Someone updated the frontend Deployment, and the new Pods sit in ErrImagePull, then ImagePullBackOff. The old Pods still serve, because the rollout can't make progress.
About this scenario
Someone updated the frontend Deployment, and the new Pods sit in ErrImagePull, then ImagePullBackOff. The old Pods still serve, because the rollout can't make progress.
Kubernetes tells you exactly what went wrong in the Pod's events.
Objectives
- Find the failing image in the events
- Run nginx:1.29 on all 3 replicas
What you'll practice
- ErrImagePull is the first failure; ImagePullBackOff means the kubelet is waiting before it tries again.
- A rollout with a broken image stalls: maxUnavailable keeps enough old Pods serving.
- The events of a Pod are the fastest way to see why it isn't starting.
How the playground works
The cluster runs entirely in your browser: a simulated API server, scheduler, kubelets and controllers, with virtual nodes in three zones. kubectl output follows the real formats, errors use the real messages, and the add-ons (CSI storage, Traefik, Envoy Gateway, cert-manager, Flux, Argo CD) behave like their real counterparts for the common paths. It's a simulation, so some behavior is simplified. Your progress is saved in this browser.