Kubernetes "pull QPS exceeded" / "context canceled" Image Pull - Fix in CI
By Daniel Zoghalchali·Latchkey
The kubelet aborted an in-progress image pull because it stopped making progress within its deadline (or the operation was canceled). On a large image over a congested link this is transient - the kubelet retries and the pull usually completes on a later attempt.
What this error means
Pod events show a pull that started then aborted with context canceled or a pull that makes no progress and is retried, before the image finally lands. It is intermittent - a re-pull (or simply waiting for the kubelet retry) succeeds.
There are 2 common causes: large image over a slow/congested link and transient registry/network interruption. A multi-gigabyte image pulled over a congested node network stalls long enough to trip the kubelet’s pull progress deadline, aborting that attempt.
How do I fix Kubernetes "pull QPS exceeded" / "context canceled" image pull?
There are 2 fixes depending on which cause you have: let the kubelet retry, and confirm progress and reduce pull time so it does not stall. Work through them in order, since the first is the most common.
What does Kubernetes "pull QPS exceeded" / "context canceled" image pull actually mean?
Pod events show a pull that started then aborted with context canceled or a pull that makes no progress and is retried, before the image finally lands.
How do I stop Kubernetes "pull QPS exceeded" / "context canceled" image pull happening again?
Keep images small so pulls complete quickly and reliably. The prevention section lists 3 changes that keep it from recurring.
Can Latchkey fix this automatically?
Yes. Latchkey runs your GitHub Actions on managed runners that detect this failure, apply the fix, and retry the job automatically - self-healing is on by default.
This is a transient network failure, not a bug in your code. Latchkey detects, repairs, and retries it for you.Start free →30-day trial · No credit card
Cookie Preferences
Choose which categories of cookies you want to allow. Essential cookies are always active as they are required for the site to function.
Essential
Required for the site to function.
Functional
Remembers your preferences like selected organization and dashboard settings.
Analytics
Helps us understand how the site is used (Google Analytics).