Kaniko: executor image is not multi-arch

Created on 16 May 2018  路  6Comments  路  Source: GoogleContainerTools/kaniko

Hi,

The image, gcr.io/kaniko-project/executor:latest is not multi-arch,

./manifest-tool inspect gcr.io/kaniko-project/executor:latest
gcr.io/kaniko-project/executor:latest: manifest type: application/vnd.docker.distribution.manifest.v2+json
      Digest: sha256:dae66b504b8c8252c02e084383a42c00e8fff1d38120c0b789cf27e9ab0864fa
Architecture: amd64
          OS: linux
    # Layers: 6
      layer 1: digest = sha256:747591d3e494e8e48904fda1f5904a79d5d6d77f60a340f495ebc0e7a701d31e
      layer 2: digest = sha256:e630954c9ed3422ab2ae2c374185cb7671c02a881460113987e04600735ae954
      layer 3: digest = sha256:019f78d04287d2c239e824f14484b2478b147b70034cd8edeb07d8f4a2dd3c2f
      layer 4: digest = sha256:aee145990de46a933a4d5e49e4e001aef1acc0432ca056604189e88fa3bc616f
      layer 5: digest = sha256:2022138fc6d9a9bcf3a3cb0a9e1eaa0ec350913001eef4e60d1f7aab2c30c3fa
      layer 6: digest = sha256:d0be0a8c9b58cffdff1be557bcbcf6464150ccecfb2ab9eba5059d06f24291ac

For this tool work on k8s running on architectures other than x86, that image has to be multi-arch

All 6 comments

We don't have plans to support other architectures at this time.

@dlorenc Thanks for your reply. I really want to be able to run this tool on k8s but my systems are on ppc64le arch.

We just have to do disable few gcr specific things like https://github.com/GoogleContainerTools/kaniko/blob/master/deploy/Dockerfile#L22. Since the image is built from golang:1.10 (which is multi-arch) it should be pretty easy to make this tool multi-arch.

If you are fine with it, I can submit a pull request to add another Dockerfile (say, Dockerfile.ppc64le) that will not have gcr or x86 specific components.

Let me know what do you think.

Adding a build and dockerfile would be easy, but we have no way to test these binaries or multi-arch images right now. I'd be concerned about adding them to this repo because it would make them seem "official", but we wouldn't be able to test, debug or even reproduce reported issues.

Would you be open to hosting the image and binaries yourself in a separate repository?

Going to close this for now, it's infeasible for us to test.

Adding a build and dockerfile would be easy, but we have no way to test these binaries or multi-arch images right now. I'd be concerned about adding them to this repo because it would make them seem "official", but we wouldn't be able to test, debug or even reproduce reported issues.

@dlorenc This is not a problem anymore, now ppc64le is part of travis beta version. We should be able to enhance .travis.yaml file to run tests on ppc64le platform as well

@dlorenc I have created a separate docker image for ppc64le and hosting it here, docker.io/pharshal/executor, I have also added support for running CI for ppc64le arch.

We find this tool very useful in our on-premise setup which is made up of ppc64le.

This is the PR for the changes.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

WoodProgrammer picture WoodProgrammer  路  5Comments

vvbogdanov87 picture vvbogdanov87  路  4Comments

WesCossick picture WesCossick  路  3Comments

maurorappa picture maurorappa  路  4Comments

nartamonov picture nartamonov  路  4Comments