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!)
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.