I‘m currently doing the LFS258, Kubernetes Fundamentals course, and it’s awesome.
It suffers however like a lot of other trainings from “asking you to install a tonne of stuff on your machine”-syndrome, inevitably leaving your computer a mess afterwards, unless you take care.
Thus I like to sandbox these things, and as kubernetes was developed early on to work with containers on Linux, I happily downloaded an Ubuntu image and started off; my host being Windows for historical reasons.
This worked without problems, until I had to run a Minikube example and my hypervisor, VirtualBox at the time, unexpectedly died on me with an error:
linuxroot@linuxroot-VirtualBox:~$ minikube start
Starting local Kubernetes v1.8.0 cluster...
Starting VM...
E1227 22:49:14.472349 2212 start.go:150] Error starting host: Error creating host: Error executing step: Running precreate checks.
: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory.
Retrying.
E1227 22:49:14.472637 2212 start.go:156] Error starting host: Error creating host: Error executing step: Running precreate checks.
: This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
================================================================================
An error has occurred. Would you like to opt in to sending anonymized crash
information to minikube to help prevent future errors?
To opt out of these messages, run the command:
minikube config set WantReportErrorPrompt false
================================================================================
Please enter your response [Y/n]:
Oh no, I thought. I’d enabled VT on my host, to run the Ubuntu 64-bit image, but I hadn’t explicitly enabled it on the virtual machine. Turns out it wasn’t entirely my fault; VirtualBox doesn’t support this. But VMware does! link 1 link 2
So I got out VMware Workstation 12 Player, installed Ubuntu, ran all the updates, installed VirtualBox (this is a task in itself..), downloaded Minikube, downloaded kubectl, and… shutdown the virtual machine – time to enable the virtualization (you could probably have done this when creating it initially.. feel free to drop a comment!)
Under Virtual Machine Settings -> Hardware -> Processors -> Virtualization engine
enable Virtualize Intel VT-x/EPT or AMD-V/RVI
. (I have preferred mode set to Automatic
, I suppose it chooses the correct one since the other ones are disabled.)
Boot your VM and run minikube start
or minikube start --logtostderr
(if you’re impatient.. it takes quite a while, and it’s nice to see something happening… I thought erroneously that it was hanging at some image-caching, but I just had to give it a few…) and voila!
When it’s run to completion, you should be able to run kubectl get nodes
and see that it has the status NotReady
, fret not, it should become ready
in a minute or two.
Alas, my host continues to be clean!.. at least for now.
Hi, THANK YOU
but can you please share the full steps to run minikube env + kubctl installing on Ubuntu VMware machine
I tried the steps on kubernetes to run minikube and kubectl but the minikube stucks on “Starting VM” … and kubectl say connection refused to the minikube ip… please can you help me
Hi Linda,
please try asking on the Kubernetes forums for help.
I don’t have a lot of time to offer free support.
Best regards.
Thank you so much for your blog. It really saved me.
I spent couple of days in frustration and I was about to give up.
I shared your post in askubuntu, just in case it helps other people.
Here is the link:
https://askubuntu.com/questions/914088/ubuntu-16-4-virtualization-problem-minikube/1052401#1052401
regards and thanks