Kubernetes Minikube: no External vswitch found
January 4, 2019 10:47 pm Leave your thoughtsSince this is the beginning of the new year and all, I decided to learn something new. This time its Kubernetes and like any beginner, I started by installing Minikube.
The system that I am running on is Microsoft Surface Pro 4. The hypervisor of choice is Hyper-v which is native in Windows 10 Pro. I followed the instructions for installing Minikube using chocolatey and it installs just fine, this step went really smoothly.
However, when I tried to start it using the command “minikube start —vm-driver=hyperv” the command failed spectacularly. Leaving me with the below error:
1 |
: no External vswitch found. A valid vswitch must be available for this command to run. Check https://docs.docker.com/machine/drivers/hyper-v/. |
Turns out this is really caused by not specifying the virtual switch in your system. In the previous version of this article, I used the default switch, which doesn’t work when it comes to obtaining IP address. Yes, I’m a newbie in Hyper-V too as I am used to using VirtualBox.
The first thing you need to do is create the external switch in Hyper-V manager.
If you are unsure of the name of the hyper-v virtual switch, then just look it up in the Hyper-V Manager.
- Start Menu
- Hyper-V Manager
- Click on virtual switch manager
- Then you can see the names of the running virtual switches
- Select New virtual network switch, specify as external and press Create Virtual Switch
- Call it “Minikube”
- Make sure to select the correct network adapter. I used my wireless adapter in this case.
Then start Minikube using this command:
1 |
minikube start --vm-driver hyperv --hyperv-virtual-switch "Minikube" |
Hopefully, this helps you if you got the same issue with me.
UPDATE: I spoke too soon last time, seems we can’t simply use the default switch cause I ended up with an infinite loop of:
1 2 3 4 |
[stderr =====>] : [executing ==>] : C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive (( Hyper-V\Get-VM minikube ).networkadapters[0]).ipaddresses[0] [stdout =====>] : [stderr =====>] : |
So the article has been updated to use external switch instead.
Tags: hyper-v, kubernetes, minikubeCategorised in: Coding, Software Development