Having played around a bit with minikube running SQL Server Containers on both Windows 10 and an Ubuntu Hyper-V VM, I wanted to get “down on paper” some of the issues that I have experienced so hopefully you won’t make the same mistakes and probably more so, as a reference for me who keeps forgetting everytime I hit the same issue :(.

I will add to this post as and when I can.

Minikube Stop / delete…..does not stop or delete

There have been many times when I’ve simply just lost the ability to use the minikube Hyper-V VM that is created with a minikube start. I’m yet to figure out why this is as it seems very sporadic but certainly an issue if you shutdown the host it is running on, in my case a Dell Precision laptop.

There are a host of links on the internet saying to do a “minikube stop” / “minikube start” however I always seem to experience issues when doing so. My issue being, it hangs when doing a shutdown of the VM so it never gets to the point of being able to delete it. Unfortunately there is no errors or warnings, it just hangs at the point of shutting down the VM indicating 0% progress.

Why?

This is because I’m a complete idiot! I work primarily from my home office and have my laptop hardwired to the internet which is great as I don’t have to faff on with WiFi. However, in order for your minikube commands to interact with the minikube VM, it uses SSH and this only works when Wifi is connected. “Why is that Chris?” you may ask. Well, when you create a minikube VM using Hyper-V (I believe it isn’t required with virtualbox but please correct me if I am incorrect) you need to create and attach an “External” NIC. What I mean is, a Virtual Network switch that has access to the outside world so it can pull down images amongst a whole host of other cool stuff. My external virtual switch’s use my wifi adapter on the host laptop as its external network so it kinda makes sense that you need it connected to interact with the VM.

So, if you ever do decide to have a play around with minikube on Windows 10, make sure that even though you are connected to the internet via a wire, you also connect to WiFi 🙂 If you remember this, your life will be a hell of a lot easier.

Example minikube start command

The command below will create a minikube VM using Hyper-V called “minikube” with 10000MB RAM, 4vCPU’s and will attach a virtual switch called “ExternalSwitch” which has to be created separately in Hyper-V manager.

#Start minikube
minikube start –vm-driver=hyperv –memory=10000 –cpus=4 –hyperv-virtual-switch=”ExternalSwitch”

After about 4mins you should have your new shiny minikube VM available. Output from the terminal is below:

$ minikube start –vm-driver=hyperv –memory=10000 –cpus=4 –hyperv-virtual-switch=”External”
minikube v1.3.1 on Microsoft Windows 10 Pro 10.0.18362 Build 18362
Creating hyperv VM (CPUs=4, Memory=10000MB, Disk=20000MB) …
Preparing Kubernetes v1.15.2 on Docker 18.09.8 …
Pulling images …
Launching Kubernetes …
Waiting for: apiserver proxy etcd scheduler controller dns
Done! kubectl is now configured to use “minikube”