minikube: minikube with podman on macOS darwin/amd64 doesn't work

Steps to reproduce the issue:

  1. Install minikube with brew:
    $ minikube version
    minikube version: v1.23.2
    commit: 0a0ad764652082477c00d51d2475284b5d39ceed
    
  2. Following the minikube podman instructions, create and start the VM with podman machine:
    $ podman machine ls
    NAME                    VM TYPE     CREATED        LAST UP            CPUS        MEMORY      DISK SIZE
    podman-machine-default  qemu        7 minutes ago  Currently running  4           8.59GB      53.69GB
    
  3. Start minikube with the podman driver and CRI-O container runtime fails:
    $ minikube start --driver=podman --container-runtime=cri-o 
    πŸ˜„  minikube v1.23.2 on Darwin 11.6
    ✨  Using the podman (experimental) driver based on user configuration
    
    ❌  Exiting due to DRV_UNSUPPORTED_OS: The driver 'podman' is not supported on darwin/amd64
    
  4. Try the second method:
    $ minikube start --driver=podman
    πŸ˜„  minikube v1.23.2 on Darwin 11.6
    ✨  Using the podman (experimental) driver based on user configuration
    
    ❌  Exiting due to DRV_UNSUPPORTED_OS: The driver 'podman' is not supported on darwin/amd64
    

Run minikube logs --file=logs.txt and drag and drop the log file into this issue

$ minikube logs --file=logs.txt
🀷  Profile "minikube" not found. Run "minikube profile list" to view all profiles.
πŸ‘‰  To start a cluster, run: "minikube start"

If this is a known issue, maybe it should be added to the β€œKnown Issues” section?

Full output of failed command if not minikube start:

% minikube start --alsologtostderr -v=7 --driver=podman --container-runtime=cri-o
I1005 09:39:38.863234   21025 out.go:298] Setting OutFile to fd 1 ...
I1005 09:39:38.863516   21025 out.go:350] isatty.IsTerminal(1) = true
I1005 09:39:38.863524   21025 out.go:311] Setting ErrFile to fd 2...
I1005 09:39:38.863531   21025 out.go:350] isatty.IsTerminal(2) = true
I1005 09:39:38.863622   21025 root.go:313] Updating PATH: /Users/kevin/.minikube/bin
W1005 09:39:38.863741   21025 root.go:291] Error reading config file at /Users/kevin/.minikube/config/config.json: open /Users/kevin/.minikube/config/config.json: no such file or directory
I1005 09:39:38.863940   21025 out.go:305] Setting JSON to false
I1005 09:39:38.900145   21025 start.go:111] hostinfo: {"hostname":"Kevins-MBP.attlocal.net","uptime":1008238,"bootTime":1632443740,"procs":464,"os":"darwin","platform":"darwin","platformFamily":"Standalone Workstation","platformVersion":"11.6","kernelVersion":"20.6.0","kernelArch":"x86_64","virtualizationSystem":"","virtualizationRole":"","hostId":"c2591f4e-ee82-33cc-8c59-db81d9ad80dd"}
W1005 09:39:38.900322   21025 start.go:119] gopshost.Virtualization returned error: not implemented yet
I1005 09:39:38.922270   21025 out.go:177] πŸ˜„  minikube v1.23.2 on Darwin 11.6
πŸ˜„  minikube v1.23.2 on Darwin 11.6
I1005 09:39:38.922492   21025 notify.go:169] Checking for updates...
I1005 09:39:38.923318   21025 driver.go:343] Setting default libvirt URI to qemu:///system
I1005 09:39:39.426347   21025 podman.go:121] podman version: 3.3.1
I1005 09:39:39.448592   21025 out.go:177] ✨  Using the podman (experimental) driver based on user configuration
✨  Using the podman (experimental) driver based on user configuration
I1005 09:39:39.448637   21025 start.go:278] selected driver: podman
I1005 09:39:39.448643   21025 start.go:751] validating driver "podman" against <nil>
I1005 09:39:39.491992   21025 out.go:177] 

W1005 09:39:39.492219   21025 out.go:242] ❌  Exiting due to DRV_UNSUPPORTED_OS: The driver 'podman' is not supported on darwin/amd64
❌  Exiting due to DRV_UNSUPPORTED_OS: The driver 'podman' is not supported on darwin/amd64

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 2
  • Comments: 32 (17 by maintainers)

Commits related to this issue

Most upvoted comments

I had the issue even running as root. It was only resolved after the patch:

$ sed -i.bak 's/fmt.Sprintf("--publish=%s::%d", pm.ListenAddress, pm.ContainerPort)/fmt.Sprintf("--publish=%d", pm.ContainerPort)/g' pkg/drivers/kic/oci/oci.go && rm pkg/drivers/kic/oci/oci.go.bak

I also encountered the same issue, and stderr output below:

tcpproxy: for incoming conn 127.0.0.1:64275, error dialing "192.168.127.2:33131": connect tcp 192.168.127.2:33131: connection was refused

ss -nplt in podman machine indicate port 33131 is listened by conmon.

Thank @kgibm,

I can confirm that, with that change I`ve been able to run minikube on Arm based Mac.

@kgibm See this line https://github.com/kubernetes/minikube/blob/323225483ed87e20a0d2c32b4e02f49afc5a39a3/pkg/drivers/kic/oci/oci.go#L509

I change it to

publish := fmt.Sprintf("--publish=%d", pm.ContainerPort)

There needs to be a warning for that, similar to the one for docker. Just that running podman-remote is quite new.

Eventually, minikube and kubernetes will support rootless containers as well. But until it works, it should warn…