Minikube install in Ubuntu vm_VT-X/AMD-v enabling to VM inside another VM
Virtual Box does not support VT-X/AMD-v in nested virtualisation. See this open ticket/feature request on virtualbox.org.
There are also some more questions and answers here on SO discussing this topic.
Possible solutions:
- As already mentioned: Use a different hypervisor that does support VT-X/AMD-v in nested virtualisation (like Xen, KVM or VMware).
- Install Minikube on the host OS and not in a VM.
- Run Minikube directly using Docker and the "none" driver option as described in Tad Guskis answer.
Run Minikube directly on the VM using Docker and the "none" driver option which does not require nested virtualization.
Set the none driver option:
[root@minikube ~]# minikube config set vm-driver none
Install Docker-ce following instructions for your VM OS version.
Lastly run minikube start:
[root@minikube ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@minikube ~]# systemctl start docker
[root@minikube ~]# minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Downloading kubeadm v1.10.0
Downloading kubelet v1.10.0
Finished Downloading kubelet v1.10.0
Finished Downloading kubeadm v1.10.0
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
===================
WARNING: IT IS RECOMMENDED NOT TO RUN THE NONE DRIVER ON PERSONAL WORKSTATIONS
The 'none' driver will run an insecure kubernetes apiserver as root that may leave the host vulnerable to CSRF attacks
When using the none driver, the kubectl config and credentials generated will be root owned and will appear in the root home directory.
You will need to move the files to the appropriate location and then set the correct permissions. An example of this is below:
sudo mv /root/.kube $HOME/.kube # this will write over any previous configuration
sudo chown -R $USER $HOME/.kube
sudo chgrp -R $USER $HOME/.kube
sudo mv /root/.minikube $HOME/.minikube # this will write over any previous configuration
sudo chown -R $USER $HOME/.minikube
sudo chgrp -R $USER $HOME/.minikube
This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
Loading cached images from config file.