Skip to content

[BUG] Local KIND development fails because imagePullPolicy=Always #2325

@d1vyanshu-kumar

Description

@d1vyanshu-kumar

Local KIND development fails because imagePullPolicy=Always

What happened:
When running OpenKruise locally with kind using locally-built images (for example openkruise/kruise-manager:test), pods go into ImagePullBackOff because the manifests set imagePullPolicy: Always. Even after loading the image into the kind nodes (kind load docker-image ...), Kubernetes still attempts to pull from the remote registry and fails.

What you expected to happen:
When a developer loads a locally-built image into kind, the cluster should use the local image (or at least not always try remote pull). Local dev manifests should allow IfNotPresent so local development works without pushing images.

How to reproduce it (as minimally and precisely as possible):

  1. Build image locally.

  2. Create a kind cluster.

  3. Install CRDs (if not already):

  4. Deploy the current default manifests:

  5. Load the locally-built image into kind:

    kind load docker-image openkruise/kruise-manager:test --name kind
  6. Observe pods in kruise-system:

    kubectl get pods -n kruise-system

    You’ll likely see ImagePullBackOff / ErrImagePull events complaining about failing to pull from registry.

Anything else we need to know?:

  • The error surfaces for local dev workflows (kind). It’s not a production runtime bug; production may intentionally use Always.

Environment:

  • Kubernetes version: v1.22.15
  • Others: macOS, Docker Desktop, kind

Metadata

Metadata

Labels

kind/bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions