Open
Description
What Happened?
On Fedora 42, Minikube using the kvm2 driver fails to connect to external image registries such as Docker Hub. When switching to the qemu2 driver, the issue is resolved.
Minikube with kvm2:
$ minikube start --disk-size=10g --extra-disks=1 --driver=kvm2
😄 minikube v1.34.0 on Fedora 42
▪ KUBECONFIG=/home/oviner/ClusterPath/auth/kubeconfig
✨ Using the kvm2 driver based on user configuration
👍 Starting "minikube" primary control-plane node in "minikube" cluster
🔥 Creating kvm2 VM (CPUs=2, Memory=6000MB, Disk=10240MB) ...
❗ Failing to connect to https://registry.k8s.io/ from inside the minikube VM
💡 To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
🐳 Preparing Kubernetes v1.31.0 on Docker 27.2.0 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔗 Configuring bridge CNI (Container Networking Interface) ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
[curl failed]
$ minikube ssh
$ curl -I https://registry-1.docker.io/v2/
^C
Minikube with qemu2:
$ minikube start --disk-size=10g --extra-disks=1 --driver=qemu2
😄 minikube v1.34.0 on Fedora 42
▪ KUBECONFIG=/home/oviner/ClusterPath/auth/kubeconfig
✨ Using the qemu2 driver based on user configuration
🌐 Automatically selected the builtin network
❗ You are using the QEMU driver without a dedicated network, which doesn't support `minikube service` & `minikube tunnel` commands.
👍 Starting "minikube" primary control-plane node in "minikube" cluster
🔥 Creating qemu2 VM (CPUs=2, Memory=6000MB, Disk=10240MB) ...
🐳 Preparing Kubernetes v1.31.0 on Docker 27.2.0 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔗 Configuring bridge CNI (Container Networking Interface) ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: storage-provisioner, default-storageclass
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
$ minikube ssh
$ curl -I https://registry-1.docker.io/v2/
HTTP/1.1 401 Unauthorized
content-type: application/json
docker-distribution-api-version: registry/2.0
www-authenticate: Bearer realm="https://auth.docker.io/token",service="registry.docker.io"
date: Mon, 23 Jun 2025 15:06:15 GMT
content-length: 87
strict-transport-security: max-age=31536000
Additional Info
- Minikube version: v1.34.0
- Fedora version: 42
- Kubernetes version: v1.31.0
- Docker inside Minikube: 27.2.0
- No custom proxy configuration
- qemu2 works fine, while kvm2 fails consistently with networking timeout
Expected Behavior
kvm2
driver should be able to access external registries without networking failures.
Workaround
Switching to the --driver=qemu2
flag resolves the issue.
Attach the log file
Workaround
Switching to the --driver=qemu2
Operating System
Redhat/Fedora
Driver
KVM2
Metadata
Metadata
Assignees
Labels
No labels