Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM images appear to be missing from quay.io #153

Closed
jbalonso opened this issue Oct 28, 2019 · 14 comments · Fixed by kubernetes/test-infra#18174
Closed

ARM images appear to be missing from quay.io #153

jbalonso opened this issue Oct 28, 2019 · 14 comments · Fixed by kubernetes/test-infra#18174
Assignees

Comments

@jbalonso
Copy link
Contributor

After all the hard work in #95 and #96 , I'm seeing the following when I run docker manifest inspect quay.io/external_storage/local-volume-provisioner:v2.3.3:

{
   "schemaVersion": 2,
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 1160,
         "digest": "sha256:038b1d9c8ded10aa1f4720802fdae6f0cceaaecbb5fe964c2b7294e47a769c6e",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      }
   ]
}

Also, I'm getting ErrImagePull on my arm64 kubelet.

@msau42
Copy link
Contributor

msau42 commented Oct 28, 2019

Unfortunately, our underlying release-infra does not support cross building, so we had to disable it: #140

@cofyc
Copy link
Member

cofyc commented Nov 2, 2019

Sorry about this. As a workaround, you can build arm images for your own use in the following steps for now:

  1. create a docker repository, e.g. quay.io/jbalonso/local-volume-provisioner

  2. build image (docker is required)

cd $GOPATH/src/sigs.k8s.io/sig-storage-local-static-provisioner
make provisioner REGISTRY=quay.io/jbalonso VERSION=canary ARCH=arm
make provisioner REGISTRY=quay.io/jbalonso VERSION=canary ARCH=arm64
  1. push image
docker push quay.io/jbalonso/local-volume-provisioner:arm
docker push quay.io/jbalonso/local-volume-provisioner:arm64

@jbalonso
Copy link
Contributor Author

jbalonso commented Nov 2, 2019

Thanks. This got away from me for a bit.

My use case required multi-arch image manifests, but I was able to get hack/release.sh to work for me with a manual hack to set ALL_ARCH (perhaps letting that be overridden by an environment variable would be cool?).

I've since found that rancher/local-path-provisioner is a better fit for my use case. That said, it is my suspicion that the community might be served to have this issue as a reminder that multi-arch (including arm) images are desirable but lacking. As such, I leave the question with you whether this issue should stay open.

@cofyc
Copy link
Member

cofyc commented Nov 2, 2019 via email

@jbalonso
Copy link
Contributor Author

jbalonso commented Nov 4, 2019

Ok. I've submitted my PR for the override capability. It includes a touch of documentation--I felt bold enough to give it as a third invocation example.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 2, 2020
@cofyc
Copy link
Member

cofyc commented Feb 3, 2020

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 3, 2020
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 3, 2020
@cofyc
Copy link
Member

cofyc commented May 6, 2020

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 6, 2020
@msau42
Copy link
Contributor

msau42 commented May 6, 2020

in the csi project, we're currently migrating our build infra from quay to gcr provided by k8s-infra. One of the goal is to support multi-arch images using docker buildx. So far experimentation is going well, and we may want to consider something similar for this repo. example: https://github.com/kubernetes-csi/node-driver-registrar/blob/master/cloudbuild.yaml

@zhlhahaha
Copy link

Hi @cofyc
as cleanup_binfmt_misc() has removed from prow bootstrap.
kubernetes/test-infra#14768

Can we re-enable cross build for multi-platform image?

@cofyc
Copy link
Member

cofyc commented Jun 10, 2020

hi, @msau42 is it ready to add a cloud build configuration to support multi-arch images now?

@msau42
Copy link
Contributor

msau42 commented Jun 10, 2020

Yes, we actually just created a new image repo for all sig-storage sponsored projects: kubernetes/k8s.io#943

@cofyc
Copy link
Member

cofyc commented Jun 12, 2020

/assign
Great!

davidmccormick pushed a commit to davidmccormick/sig-storage-local-static-provisioner that referenced this issue Mar 31, 2021
This allows users to build and push a multi-arch image manifest to a
private registry.

In addition to enabling multi-arch experimentation and development, this
serves as a workaround for kubernetes-sigs#153.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants