Die Image Pull Policy (imagePullPolicy) legt im PodSpec eines Containers fest, wann das Kubelet das Container-Image von einer Registry zieht. Mögliche Werte sind Always, IfNotPresent und Never.
Die drei Werte
- Always: Das Image wird bei jedem Pod-Start neu von der Registry geholt, auch wenn es lokal schon vorhanden ist. Damit ist der Stand immer aktuell, kostet aber Netzwerk und Zeit — typisch für Entwicklung mit
:latest. - IfNotPresent: Das Image wird nur gezogen, wenn es auf dem Knoten noch nicht existiert. Schnellster Ablauf für stabile Versionen.
- Never: Es wird nie eine Registry kontaktiert; das Image muss bereits auf dem Knoten vorhanden sein, sonst schlägt der Container mit
ErrImageNeverPullfehl — etwa bei vorab importierten Images.
Standardverhalten
Wird imagePullPolicy nicht gesetzt, gilt: Bei Tag :latest oder fehlendem Tag greift Always, bei jedem anderen Tag (zum Beispiel v1.0.0) IfNotPresent. Den eigentlichen Pull führt die Container-Runtime (containerd, CRI-O) im Auftrag des Kubelets aus. Für private Registrys liefern imagePullSecrets die Zugangsdaten; wer unveränderliche Images will, pinnt zusätzlich auf einen Digest (image@sha256:…).
Schlagen Pulls wiederholt fehl, wechselt der Container in den Zustand ImagePullBackOff mit wachsender Wartezeit — ein verwandtes Symptom des CrashLoopBackOff. Kontrollierte Deployments und Jobs verwenden in Produktion bevorzugt feste Tags oder Digests statt :latest.
Verwandte Grundlagen: Kubernetes Termination Grace Period, Kubernetes Pod Lifecycle.