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

Minikube assumes remote docker host is same arch as local machine #13303

Open
snickell opened this issue Jan 6, 2022 · 8 comments
Open

Minikube assumes remote docker host is same arch as local machine #13303

snickell opened this issue Jan 6, 2022 · 8 comments
Labels
co/docker-driver Issues related to kubernetes in container help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/bug Categorizes issue or PR as related to a bug. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.

Comments

@snickell
Copy link

snickell commented Jan 6, 2022

What Happened?

I'm using a MacOS ARM64 ("apple silicon") laptop as my dev machine, but I do builds on a remote Docker Linux AMD64 host using DOCKER_HOST="tcp://192.168.1.44". If I create the minikube-in-docker while sshed into the Linux machine, minikube installs an AMD64 docker build. However, if I try to minikube start from my Mac initially, while it pulls an x86_64 docker image, the kubeadm and kubectl binaries in /var/lib/minikube/binaries/v1.22.3/kubeadm are NOT x86_64 but arm64, which won't run on my AMD64 docker host (it gets wrongly sniffed as a shell script and fails to run, but see below its an ELF just wrong architecture).

root@minikube:/var/lib/minikube/binaries/v1.22.3# file kubeadm
kubeadm: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, Go BuildID=Ix-qGg0m4Y1_wbf6TIrB/IthoOfPXT3QgQ194kYq7/518O26hpL0jI16q3MMZ0/cj371ZbZEp94cJXf24Pn, stripped

Attach the log file

log.txt

Operating System

macOS (Default)

Driver

Docker

@afbjorklund
Copy link
Collaborator

afbjorklund commented Jan 6, 2022

Right, this is a "bug": (Using the docker driver has the same issues as the ssh driver)

minikube doesn't have very good support for remote systems, and when it does it assumes that they are the same arch

you can still use kubernetes like that, but like multi-node before you might have to do some of the setup yourself (for now)

@klaases
Copy link
Contributor

klaases commented Jan 19, 2022

Hi @snickell, were you able to review @afbjorklund comments above, and did you have any additional comments?

It looks like this issue might have been identified per #9593.

@snickell
Copy link
Author

Hi @klaases I don't know enough of the system internals to comment on @afbjorklund 's comment, but it seems very plausible to me? Fixing #9593 might not be enough to fix this, but it seems like a critical step at a min

@spowelljr spowelljr added the priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. label Jan 25, 2022
@sharifelgamal
Copy link
Collaborator

#9593 should be fixed when minikube 1.26 is released, so we can revisit this when that happens.

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/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 10, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jun 9, 2022
@sharifelgamal sharifelgamal added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Jun 15, 2022
@sharifelgamal
Copy link
Collaborator

This should now be doable, help wanted!

@sharifelgamal sharifelgamal added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Jun 15, 2022
@mxey
Copy link

mxey commented Jul 29, 2022

I was able to workaround this by using the x86_64 Minikube macOS binary and setting --preload=false.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
co/docker-driver Issues related to kubernetes in container help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/bug Categorizes issue or PR as related to a bug. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Projects
None yet
Development

No branches or pull requests

8 participants