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 ErrImageNeverPull fehl — 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.