webentwicklung-frage-antwort-db.com.de

Minikube in Ubuntu installieren vm_VT-X/AMD-v aktivieren VM in einem anderen VM

Ich versuche, Minikube in Ubuntu vm (in virtueller Box) zu installieren. Ich habe VT-X/AMD-v für die VM aktiviert. Aber ich bekomme einen Fehler.

# minikube start
Starting local Kubernetes cluster...
E0217 15:00:35.395801    3869 start.go:107] Error starting Host: Error creating Host: Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory".

 Retrying.
E0217 15:00:35.396019    3869 start.go:113] Error starting Host:  Error creating Host: Error with pre-create check: "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]:

Ich habe eine Referenz gefunden, danach können wir keine Virtualisierung innerhalb der Virtualisierung haben. Ist es wahr? Wie kann ich das beheben?

18

Virtual Box unterstützt VT-X/AMD-v in verschachtelter Virtualisierung nicht. Diese offene ticket/feature-Anforderung auf virtualbox.org anzeigen. 

Es gibt auch einige weitere Fragen und Antworten zu SO, die diesesThema diskutieren. 

Mögliche Lösungen:

  1. Wie bereits erwähnt: Verwenden Sie einen anderen Hypervisor, der VT-X/AMD-v in verschachtelter Virtualisierung unterstützt (wie Xen, KVM oder VMware). 
  2. Minikube auf dem Host-Betriebssystem installieren und nicht in einer VM.
18
Phonolog

Führen Sie Minikube direkt auf VM mit Docker und der Treiberoption "none" aus, für die keine geschachtelte Virtualisierung erforderlich ist.

Legen Sie die Treiberoption none fest:

[[email protected] ~]# minikube config set vm-driver none

Installieren Sie Docker-ce gemäß den Anweisungen für Ihre Betriebssystemversion VM.

Zum letzten Start des Minikubus:

[[email protected] ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[[email protected] ~]# systemctl start docker
[[email protected] ~]# 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.
8
Tad Guski

Prüfen Sie, ob es für VM (in der VM ausgeführt) ordnungsgemäß aktiviert ist:

egrep -i '^flags.*(svm|vmx)' /proc/cpuinfo

Und in VM Kernel:

dmesg | egrep 'DMAR|IOMMU'

Nur VirtualBox funktioniert mit verschachteltem 32-Bit-Gast, also prüfen Sie auch (es sind keine geschachtelten -Unterstützer, aber arbeitet mit 32-Bit):

uname -m
3
Janos Lenart

"Installieren Sie Minikube auf dem Host-Betriebssystem und nicht in einer VM."

es ist nicht ganz korrekt, in der Tat können Sie minikube in Linux installieren VM über Virtualbox oder VMware usw. mit keiner Treiberoption, die localkube verwendet, um direkt mit kubernetes in VM Host Docker zu arbeiten .

sie können dieses kleine Skript in Linux VM in wenigen Minuten mit dem Minikube starten.

https://github.com/robertluwang/docker-hands-on-guide/blob/master/minikube-none-installation.md

2
robertluwang

Führen Sie minikube ohne geschachtelte Virtualisierung aus (Docker sollte installiert sein):

minikube start --vm-driver=none

Aus Kubernetes Dokumentation :

Minikube unterstützt auch die Option --vm-driver = none, mit der die .__ ausgeführt wird. Kubernetes-Komponenten auf dem Host und nicht in einer VM. Verwenden dieses Treibers erfordert Docker und eine Linux-Umgebung, jedoch keinen Hypervisor.

1
k13i

Ich habe VM installiert und Virtualbox in der VM installiert. Und aktiviert VT-X/AMD-v in der äußeren VM. es funktioniert gut.

1