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

Support ARM/multi-arch images for Kubeapps containers #929

Closed
obeyler opened this issue Jan 17, 2019 · 35 comments
Closed

Support ARM/multi-arch images for Kubeapps containers #929

obeyler opened this issue Jan 17, 2019 · 35 comments
Labels
component/packages Issue related to kubeapps packaging formats to be distributed (Helm chart and Carvel packages) kind/enhancement An issue that reports an enhancement for an implemented feature

Comments

@obeyler
Copy link
Contributor

obeyler commented Jan 17, 2019

Does a version of Kubeapps already exist for arm processor ?
I've done a Kubernetes cluster with raspberry pi, and as I think kubeapps is a wonderfull product I want to put it on my personal cluster :-)
Thanks
Olivier

@prydonius
Copy link
Contributor

Hey @obeyler, we aren't yet building images for ARM, but given Kubeapps is mostly Go I don't think this would be too difficult. It's a nice idea, I can't say it's high on our priority list, though. If you would like to help port Kubeapps to ARM, that would be really amazing!

@arnaubennassar
Copy link

@obeyler I will give it a try!

@arapulido
Copy link
Contributor

@arnaubennassar were you able to give this a try?

@arapulido arapulido added priority/low kind/feature An issue that reports a feature (approved) to be implemented labels Feb 25, 2019
@arnaubennassar
Copy link

@arapulido I started but then I got some new components for my cluster and I've been focused on changing the network and storage. Once I've the cluster working again I will keep trying.

So far I was trying to build a multi arch, multi stage docker image to be able to build the containers for any architecture and being able to do so entirely with docker. Something similar to this. I tried to build the containers directly on the Raspberry as described in the documentation, but the process didn't finish apparently due to not having enough memory.

My goal is to be able to do some CI/CD magic to keep updated versions for ARM. But pleas keep in mind that I'm learning kubernetes and CI/CD tech in my free time, so I don't expect to have this any time soon.

If you think there is a better approach for this, or better suited for the flow of the project let me know and I will try to do my best to make this land in the future to this repo :D

@prydonius
Copy link
Contributor

@arnaubennassar thanks for the update, that's completely fine and we appreciate the efforts! I don't really have any experience with building multi-arch or ARM containers, so will happily defer to you on that ;). If there is any way we can help with this, though, let us know.

Happy to keep this issue open in the meantime.

@prydonius prydonius changed the title Arm version Support ARM/multi-arch images for Kubeapps containers Feb 26, 2019
@fr34k8
Copy link

fr34k8 commented Feb 11, 2020

@prydonius @arnaubennassar @obeyler
is there any progress here ?

@andresmgot
Copy link
Contributor

Hi @fr34k8, not really. As @prydonius pointed out we don't have experience building ARM containers so we are accepting community contributions here :)

@arnaubennassar
Copy link

Nope sorry, I no longer host an ARM cluster, so I won't work on this

@fr34k8
Copy link

fr34k8 commented Feb 11, 2020

@andresmgot @arnaubennassar did anybody of you start any code to achieve the goal ?

@andresmgot
Copy link
Contributor

not in my side

@arnaubennassar
Copy link

Not really. If you want to start, this may be helpful: https://docs.docker.com/buildx/working-with-buildx/#build-multi-platform-images There's good chances that the images used in this project will cross compile using buildx.

@gabriel-duque
Copy link

hey ! Any news on this ? I host a k3s cluster on some armv8 boards and would love to deploy kubeapps to ease it's management! I can try to work on this using buildx as @arnaubennassar suggested !

@batiati
Copy link
Contributor

batiati commented Jul 16, 2020

With the new multicluster feature you can deploy kubeapps on top of a regular x86 cluster and manage your k3s arm cluster from there.

@gabriel-duque
Copy link

Thanks for the info, I didn't know I could do that. Still, I would like to deploy kubeapps on the k3s cluster itself :)

@absoludity
Copy link
Contributor

We haven't yet prioritized building arm/multi-arch images, sorry. As @batiati mentioned, the only current way would be to install Kubeapps on a regular cluster supporting multiple clusters (but that work is not yet complete - you can see how it will work in https://www.youtube.com/watch?v=KIoW4zZDtdY ).

@gabriel-duque
Copy link

@absoludity thanks for the video. I looked into this and it seems like this would not be a lot of work but sort of a hassle because the deploying kubeapps using helm on arm boards would imply building a bunch of bitnami's Docker images for arm too.

@fr34k8
Copy link

fr34k8 commented Jul 20, 2020

@zuh0 if I can help in any way, let me know.

@absoludity
Copy link
Contributor

@absoludity thanks for the video. I looked into this and it seems like this would not be a lot of work but sort of a hassle because the deploying kubeapps using helm on arm boards would imply building a bunch of bitnami's Docker images for arm too.

The idea mentioned above was that you wouldn't need to deploy kubeapps on arm boards at all - it'd be running on a different x86 cluster, but able to deploy to other clusters, including your arm one. In the video demo, there are no Kubeapps components installed on the additional cluster. The only requirement is that the additional cluster's k8s api server be setup with oidc pointing at dex running on the initial cluster. But yes, I can't say whether it's worth trying out (and can say multicluster support won't be available for a couple of weeks yet).

@gabriel-duque
Copy link

@absoludity I understood what you were saying.

But I would like to avoid setting up a x86 cluster. I am self-hosting my cluster using k3s on some raspberry pi and the whole point was to run everything on armv8.

@gabriel-duque
Copy link

gabriel-duque commented Jul 22, 2020

@fr34k8 In order for this to be possible, here are the Docker images which would need to be built for armv8:

  • kubeapps/apprepository-controller
  • kubeapps/assetsvc
  • kubeapps/asset-syncer
  • kubeapps/dashboard
  • kubeapps/kubeops
  • kubeapps/tiller-proxy (for people using Helm 2)
  • bitnami/kubectl
  • bitnami/nginx
  • bitnami/oauth2-proxy
  • bitnami/node (used by some of kubeapps Dockerfiles)

I will try to open issues on the bitnami repos to build multi-architecture images. If the maintainers seem positive about this I will try to do this but from what I saw on the kubeapps images, it should be rather straightforward as the Dockerfiles use multi-architecture base images like golang or ubuntu.

The complicated work is going to be having a multi-architecture bitnami/minideb image which is a dependency of bitnami/node and others.

@absoludity
Copy link
Contributor

@absoludity I understood what you were saying.

But I would like to avoid setting up a x86 cluster. I am self-hosting my cluster using k3s on some raspberry pi and the whole point was to run everything on armv8.

Sorry, I understood "this" in

@absoludity thanks for the video. I looked into this and it seems like this would not be a lot of work but sort of a hassle because the deploying kubeapps using helm on arm boards would imply building a bunch of bitnami's Docker images for arm too.

to be referring to the multicluster setup, but I see you meant actually doing the arm setup :)

@amoravek
Copy link

I think the ARM(v8) support would be really helpful since the architecture support is growing globally. Our company develops small Kubernetes clusters based on the ARM64 platform (see http://www.edgeclusters.com/ if curious) - and we would really appreciate the possibility to run kubeapps by simply using helm install... I've tried to build it from sources recently, but find it too difficult to use since it depends on too many not-arm-enabled images. I hope it will change soon. Is there any progress?

@andresmgot
Copy link
Contributor

hi @amoravek, not that I am aware of. I am not sure if @zuh0 got more information from the bitnami team regarding ARM since they are the ones that at the end of the day, build all the containers, including our dependencies.

@amoravek
Copy link

If offer my help with building and testing.

@andresmgot
Copy link
Contributor

The Bitnami team plans to officially support it (for the Bitnami open source catalog, including Kubeapps) but there is no ETA yet.

@ddelange
Copy link

ddelange commented Jan 7, 2021

@andresmgot could you link a reference to that announcement? I'm currently browsing for a quick-fix to run bitnami-docker-owncloud on arm64, and I'm considering resorting to the slightly outdated https://hub.docker.com/r/thenoots/arm-bitnami-minideb (closest I got to finding the corresponding repo for that image was https://github.com/radicand/minideb-extras-base-arm/commit/9ef34b94d57c4b1375a541419d2ff76a4a36ef37).

@andresmgot
Copy link
Contributor

It's still early stages so there is no link I can send you yet (that image in the link you posted is not related to Bitnami).

A related question, in which platform are you interested? Raspberries, cloud ARM instances, the new Mac?

@ddelange
Copy link

ddelange commented Jan 8, 2021

I see, all good. Yes the image is of unknown source, so not very keen on using it.

Raspberries, cloud ARM instances, the new Mac?

You picked three very good reasons to prioritise arm bitnami images! For me Raspberry is the one at the moment, but the cheaper AWS ARM instances (and in a few years the ARM Mac...) are definitely on my radar as well!

@ddelange
Copy link

ddelange commented Jan 8, 2021

Just found a draft PR to add multi arch support from two months ago:

bitnami/minideb#90

Doesn't seem like the author intends to continue the work on making it run in CI, but its a start :)

@antgamdia antgamdia added component/packages Issue related to kubeapps packaging formats to be distributed (Helm chart and Carvel packages) size/L awaiting-more-evidence Need more info to actually get it done. and removed good first issue size/L labels May 24, 2021
@ppbaena ppbaena removed the kind/feature An issue that reports a feature (approved) to be implemented label Sep 14, 2021
@ppbaena
Copy link
Collaborator

ppbaena commented Sep 14, 2021

This issue had no activity for a long time; in order to focus on the current roadmap, we are closing this issue. Should anyone be interested in contributing or have any further questions, please reopen it.

Particularly, this ARM issue is being tracked at bitnami/charts#7305. Note that our official images are being built by Bitnami; therefore, any question regarding the Helm chart or the container images should be asked in the Bitnami repository.

Thanks for your comprehension

@ppbaena ppbaena closed this as completed Sep 14, 2021
@samip5
Copy link

samip5 commented Sep 15, 2021

Just to add to this that all bitnami images are to be expected to not have multi-arch support anytime soon, so the best option is to migrate away from their images.

@antgamdia antgamdia added next-iteration Issues to be discussed in planning session and removed awaiting-more-evidence Need more info to actually get it done. labels Aug 11, 2022
@ppbaena ppbaena added this to the Migrate CI to GitHub Actions milestone Aug 29, 2022
@ppbaena
Copy link
Collaborator

ppbaena commented Aug 29, 2022

Reopen to continue work started on #5208

@ppbaena ppbaena reopened this Aug 29, 2022
@ppbaena ppbaena removed the next-iteration Issues to be discussed in planning session label Aug 29, 2022
@ppbaena ppbaena added the kind/enhancement An issue that reports an enhancement for an implemented feature label Oct 10, 2022
@beni0888 beni0888 removed their assignment Dec 14, 2022
@antgamdia
Copy link
Contributor

antgamdia commented Feb 24, 2023

It seems our colleagues from Bitnami have added support for ARM images! More information here.

image

EDIT: I've been told there are some temporary issues when releasing some of the Kubeapps assets (eg. pinniped-proxy), if you find some issues when using the Kubeapps chart in ARM, it probably is because of theses issues. Sorry for the inconvenience!

@ppbaena ppbaena closed this as completed Mar 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/packages Issue related to kubeapps packaging formats to be distributed (Helm chart and Carvel packages) kind/enhancement An issue that reports an enhancement for an implemented feature
Projects
Archived in project
Development

No branches or pull requests