The post Quick tip: Enable nested virtualization on a GCE instance appeared first on Mirantis | Pure Play Open Cloud.
There are times when you need to run a virtual machine — but you’re already ON a virtual machine. Fortunately, it’s possible, but you need to enable nested virtualization. For me, this comes up often when I’m running OpenStack or Kubernetes on a Google Compute Engine instance. To solve the problem, follow these steps:
Install the latest version of the gcloud command-line tool.
Create a new instance so you have a base disk to work with. Because you’ll eventually want to use the image in a zone that includes nested virtualization, create it in zone us-central1-b. You can do this from the UI, or using the command line. By default, the disk will have the same name as the instance:
gcloud compute instances create temp-image-base –zone us-central1-b
Stop the instance:
gcloud compute instances stop temp-image-base –zone us-central1-b
Now create a new disk, based on that disk, with nested virtualization enabled:
gcloud compute images create nested-vm-image
–source-disk temp-image-base –source-disk-zone us-central1-b
–licenses “https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx”
Next create the new instance using the new image:
gcloud compute instances create nested-vm –zone us-central1-b –image=nested-vm-image –boot-disk-size=250GB
Connect to the instance:
gcloud compute ssh nested-vm –zone=us-central1-b
Confirm that nested virtualization is enabled by looking for a non-zero response to:
> grep -cw vmx /proc/cpuinfo
> 1
Finally, install a hypervisor such as KVM:
sudo apt-get update && sudo apt-get install qemu-kvm -y
From there, you’re ready to run VMs on your VM.
The post Quick tip: Enable nested virtualization on a GCE instance appeared first on Mirantis | Pure Play Open Cloud.
Quelle: Mirantis
Published by