Skip to content

KinD fails to run single-architecture amd64 manifests on Apple Silicon: "no match for platform in manifest" #4050

@csuich2

Description

@csuich2

We currently run KinD clusters on our Apple Silicon Macs with a mix of amd64 images and multi-platform (amd64 and arm64) manifests.

Docker 29 switched the default image store to containerd. This causes docker push ... to push multi-platform manifests by default, even when the local build only produced a single platform image. Running docker push --platform linux/amd64, for example, can force a single amd64 image to be pushed rather than a manifest.

Our testing with this change revealed that while running a non-manifest amd64 image works in KinD on an Apple Silicon Mac, running a manifest with a single amd64 image in it does not. Pods attempting to run such images fail to start with this error: no match for platform in manifest: not found.

We're trying to investigate options moving forward, including:

  • Updating all docker push commands for non-manifest builds throughout our entire company to add --platform linux/amd64
    • This wouldn't help for any 3rd party single architecture manifests
  • Forcing Docker Engine to use the non-default storage engine on our build system after upgrading to Docker 29
    • It is unclear how long this configuration will be supported and the non-default storage engine will be supported

Questions:

  • Is this expected behavior? Should KinD support single-architecture manifest lists?
  • Is there a containerd configuration within KinD nodes that could handle
  • Are there recommended workarounds besides forcing docker push --platform ...?

I also opened this discussion in Moby about the default behavior changing: moby/moby#51532

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/supportCategorizes issue or PR as a support question.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions