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

HNC: Provide multiarch images (e.g. arm64) #21

Closed
yiqigao217 opened this issue May 5, 2021 · 6 comments · Fixed by #45
Closed

HNC: Provide multiarch images (e.g. arm64) #21

yiqigao217 opened this issue May 5, 2021 · 6 comments · Fixed by #45

Comments

@yiqigao217
Copy link
Contributor

Issue by DWSR
Wednesday Feb 10, 2021 at 01:35 GMT
Originally opened as kubernetes-retired/multi-tenancy#1383


Hey all, I'd like to use HNC with my ARM cluster, but can't because HNC doesn't provide ARM images (that I can see).

Not sure how much work this would be, but would definitely help those of us running on e.g. AWS Graviton or Raspberry Pis.

@yiqigao217
Copy link
Contributor Author

Comment by adrianludwin
Wednesday Feb 10, 2021 at 01:37 GMT


Interesting. I'd love to support ARM but I'm not sure how to create a
multiarch image and (much more importantly) I have no way of testing it
since I don't have access to an ARM cluster.

Are you able to provide a PR and test it on your cluster?

On Tue, Feb 9, 2021 at 8:35 PM Brandon McNama notifications@github.com
wrote:

Hey all, I'd like to use HNC with my ARM cluster, but can't because HNC
doesn't provide ARM images (that I can see).

Not sure how much work this would be, but would definitely help those of
us running on e.g. AWS Graviton or Raspberry Pis.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
kubernetes-retired/multi-tenancy#1383, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AE43PZB534I2AORQK2MZGUTS6HPFZANCNFSM4XMBRXJQ
.

@yiqigao217
Copy link
Contributor Author

Comment by DWSR
Wednesday Feb 10, 2021 at 03:58 GMT


@adrianludwin This is relatively straightforward to build with buildx. I haven't done it with CloudBuild before, but it appears that someone else has: https://hub.docker.com/r/harshavardhanj/docker-buildx. I don't have easy access to a GCP account for CloudBuild, though.

Regarding testing, GCP (and thus GKE) doesn't appear to have any ARM support, so that would be a pretty major change. I'm happy to test it against my home Pi cluster to get an image out the door, but that's obviously not a reasonable approach moving forward.

How are images for e.g. kube-proxy and other Control Plane components tested for various architectures?

@yiqigao217
Copy link
Contributor Author

Comment by adrianludwin
Thursday Feb 18, 2021 at 14:50 GMT


I'm not sure how the other components are tested - most testing is on GCP,
which as you say, only has Intel and AMD support.

I'd be comfortable using a build process that only got tested once, as long
as we stated clearly that this is the case (this is what we do with macOS
support for kubectl-hns). As for Cloud Build, if you sign up for a GCP
account, you get 120 free build-minutes of Cloud Build a day
https://cloud.google.com/build/pricing on an e2-medium. That should be
enough to test, since HNC typically builds in well under 5 minutes.

Sorry I don't have the time to look into this myself. I know ARM is getting
more common as a target for GKE so I'm sure someone will get to it at some
point, but right now I don't have the time or ability to look into it. If
you can get something working on your test account I'll be happy to merge
it (after a few questions) but if not, I'm going to have to wait until GCP
customers are asking for it (e.g. Anthos on-prem) or someone else is able
to submit a PR. Sorry about that!

On Tue, Feb 9, 2021 at 10:58 PM Brandon McNama notifications@github.com
wrote:

@adrianludwin https://github.com/adrianludwin This is relatively
straightforward to build with buildx
https://medium.com/@artur.klauser/building-multi-architecture-docker-images-with-buildx-27d80f7e2408.
I haven't done it with CloudBuild before, but it appears that someone else
has: https://hub.docker.com/r/harshavardhanj/docker-buildx. I don't have
easy access to a GCP account for CloudBuild, though.

Regarding testing, GCP (and thus GKE) doesn't appear to have any ARM
support, so that would be a pretty major change. I'm happy to test it
against my home Pi cluster to get an image out the door, but that's
obviously not a reasonable approach moving forward.

How are images for e.g. kube-proxy and other Control Plane components
tested for various architectures?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
kubernetes-retired/multi-tenancy#1383 (comment),
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE43PZANURRYLJMMCROSL7DS6H76HANCNFSM4XMBRXJQ
.

@RealHarshThakur
Copy link
Contributor

Hey folks! I would like to take this up, can you please assign this to me?
Can I use docker buildx though?

@adrianludwin
Copy link
Contributor

You can definitely start working on it, we can't formally assign it to you unless you're a member of kubernetes-sigs. But that's not necessary to actually work on.

The only requirement is that you need to have access to a GCP project because we use Google Cloud Build to build. Do you have that?

If you do, the Docker image is built here. I assume that the copy of Docker in gcr.io/cloud-builders/docker supports buildx but I don't actually know. To modify the release process, read releasing.md but especially this section.

lmk if you need any other pointers.

@adrianludwin
Copy link
Contributor

@DWSR this is the new location for this issue

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.

3 participants