Ubuntu – Ubuntu 16.4 virtualization problem- MInikube

virtualboxvirtualization

I have got windows 10 laptop with virtualization enabled and In that, I have installed Ubuntu virtual machine in Oracle virtual Box.

I make sure that virtualization is enabled on my windows 10 PC you can see below virtualization is enabled.

Virtualization enabled in Windows 10 laptop

Now in Ubuntu Virtual Machine. I also make sure that virtualization is enabled.

Virtulizaiton in Oracle VirtualBox here

Now I've got Kubernetes and MiniKube installed in Ubuntu Virtual Machine. But when I start MiniKube with minikube start it says "This computer doesn't have VT-X/AMD-v enabled. Enabling it in BIOS is Mandatory.". I don't know how to resolve this. Is there any settings that I can do. I've already checked windows 10(Host OS) bios and it has got virtualization enabled

Any help will highly be appreciated

Minikube problem with virtulization

Best Answer

More or less inclusive guide to running Kurbernetes :

Clear-up : all of the following is for linux-only as Kubernetes can only run whithin a linux or mac (same difference) environement.

additionally Kubernetes.io specifies that only the ubuntu ditribution is supported.

There is possibly an assumption of being able to run an ubuntu VT-D utilising VM inside windows and inside the ubuntu VM boot another VT-D utilising VM.

As I understand it, this is not possible and Kubernetes should update their webpage and guides accordingly.

Finally it's more than possible that hardware is a factor here. IOMMU support is a necessity and so is enbling it in the BIOS.

I'd also highly recommend having more than 4GB of ram for this. (especially if the two-tiered VT-d emulation IS possible and that's what you're attempting).

The info used here was retrieved from :

EMULATING on a LOCAL machine :

I imagine this is what you want to see : enter image description here

Here's what I did (the following is the easiest solution of the three) :

mkdir temp
cd temp
sudo apt update && sudo apt install libvirt-bin qemu-kvm
sudo adduser $USER kvm
sudo adduser $USER libvirtd
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.19.0/minikube-linux-amd64
curl -L https://github.com/docker/machine/releases/download/v0.11.0/docker-machine-`uname -s`-`uname -m`
curl -L https://github.com/dhiltgen/docker-machine-kvm/releases/download/v0.10.0/docker-machine-driver-kvm-ubuntu14.04
chmod +x ./kubectl minikube docker-machine docker-machine-driver-kvm
sudo mv ./kubectl /usr/local/bin/kubectl
sudo mv minikube /usr/local/bin/minikube
sudo mv docker-machine /usr/local/bin/docker-machine
sudo mv docker-machine-driver-kvm /usr/local/bin/docker-machine-driver-kvm
cd ../
rm -rf temp
kubectl cluster-info

# edit the /etc/environement to include usr/local/bin in your PATH=""
# (arguments are seperated with ":") but it does by default. If it didn't
# then once you've edited and saved remember to run :
# source /etc/environment

docker-machine create -d kvm myengine0
minikube --vm-driver=kvm start

And this is despite being on the wrong OS. I'm on Mint 18 but it worked anyways.

edits and suggestions welcome.

EMULATING on an EMULATED machine (as I understand it this isn't possible) :

W.I.P. help and edits welcome.

Actual Kubernetes INSTALL on a LOCAL or EMULATED machine :

W.I.P. help and edits welcome.

As I understand it :

sudo apt-add-repository -y ppa:juju/stable
sudo apt update && sudo apt install snapd juju-local # or juju or juju-2.0
# I don't know which is cleaner/more functinal.
# Addapt as needed :
juju add-credential aws 
# enter credetial, select userpass, enter username, enter password
juju update-clouds
juju bootstrap aws/us-east-2 
juju deploy canonical-kubernetes
sudo snap install conjure-up --classic

then once in snap :

conjure-up kubernete