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

Add multi-arch for docker images #113

Closed
mzac opened this issue Jun 22, 2020 · 10 comments · Fixed by #116
Closed

Add multi-arch for docker images #113

mzac opened this issue Jun 22, 2020 · 10 comments · Fixed by #116
Labels
enhancement New feature or request

Comments

@mzac
Copy link
Contributor

mzac commented Jun 22, 2020

Would this application work correctly if built using multiarch? My kubernestes cluster is a hybrid of Raspberry PI and AMD64 but I prefer to run small workloads on the PIs.

Example here:
https://github.com/marketplace/actions/docker-buildx

BTW awesome work, I got kubenav working with your examples!

@ricoberger ricoberger added the enhancement New feature or request label Jun 22, 2020
@ricoberger
Copy link
Member

Thank you and thanks for the hint with the GitHub action 🙂.

I adjusted the GitHub Action workflow (#116). Unfortunately I only could test it on linux/amd64. It would be nice if you can give me some feedback if this is running on your Raspberry PI.

@mzac
Copy link
Contributor Author

mzac commented Jun 22, 2020

Great! I'm trying to test it out but getting an error.. Need to make sure my Pi is pulling the right architecture. I've been trying to figure out how to specify the arch in a deployment, do you know how?

standard_init_linux.go:211: exec user process caused "exec format error"

@mzac
Copy link
Contributor Author

mzac commented Jun 22, 2020

They are showing up

docker container run mplatform/mquery kubenav/kubenav:4eae587f
Image: kubenav/kubenav:4eae587f
 * Manifest List: Yes
 * Supported platforms:
   - linux/amd64
   - linux/arm/v6
   - linux/arm/v7
   - linux/arm64
   - linux/386
   - linux/ppc64le
   - linux/s390x

@ricoberger
Copy link
Member

Thanks for testing. I've never worked with a cluster with multiple architectures. If I get it right from the following article https://starkandwayne.com/blog/building-docker-images-for-kubernetes-on-arm/ it shouldn't be necessary to specify the architecture for the Kubernetes deployment.

Maybe there is still sth. wrong with the build process. I will take another look.

@mzac
Copy link
Contributor Author

mzac commented Jun 23, 2020

Ok thanks I'll test it out when you're ready!

@mzac
Copy link
Contributor Author

mzac commented Jun 25, 2020

I saw you updated the image recently, but getting a different error now

time="2020-06-25T12:12:14Z" level=info msg="(version=, branch=multi-arch-docker-images, revision=284bd89a0930fd54c40bfd4ee7ef1345e161928a)"
time="2020-06-25T12:12:14Z" level=info msg="(go=go1.14.4, user=root, date=2020-06-25@05:27:40)"
time="2020-06-25T12:12:14Z" level=fatal msg="Could not load index.html file" error="open build/index.html: no such file or directory

@ricoberger
Copy link
Member

Yes I played around with Docker image. The failure is expected to speed up the build process. Hopefully I can provide a production ready multi-arch image by the end of the week.

@ricoberger
Copy link
Member

Can you test the following image please: kubenav/kubenav:dc767ba8

@mzac
Copy link
Contributor Author

mzac commented Jun 25, 2020

It works!!

Every 2.0s: kubectl -n kubenav get pods -o wide                                                                             pi3: Thu Jun 25 17:20:44 2020

NAME                       READY   STATUS    RESTARTS   AGE   IP            NODE      NOMINATED NODE   READINESS GATES
kubenav-647d4d6f8c-m5wx2   1/1     Running   0          64s   10.42.7.134   k3s-pi3   <none>           <none>

@ricoberger
Copy link
Member

Thanks for your help with testing this 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants