<p>I am trying to install Minikube on a GCP VM. I am running into an issue where the OS is complaining that VT-X/AMD-v needs to be enabled. Are there any specific instructions for setting this up on GCP?</p>

cyberbeast
<p><a href="https://cloud.google.com/compute/docs/instances/enable-nested-virtualization-vm-instances" rel="nofollow noreferrer">Nested Virtualization</a> is supported on GCP and I can confirm the documentation I've linked is up to date and workable.</p>

<p>Quoting the 3 basic points here that you need:</p>

<ul>
<li>A supported OS

<ul>
<li>CentOS 7 with kernel version 3.10</li>
<li>Debian 9 with kernel version 4.9</li>
<li>Debian 8 with kernel version 3.16</li>
<li>RHEL 7 with kernel version 3.10</li>
<li>SLES 12.2 with kernel version 4.4</li>
<li>SLES 12.1 with kernel version 3.12</li>
<li>Ubuntu 16.04 LTS with kernel version 4.4</li>
<li>Ubuntu 14.04 LTS with kernel version 3.13</li>
</ul></li>
<li>Create an <strong>image</strong> using the special licence <code>https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx</code> (this is offered at no additional cost; it simply signals GCE that you want the feature enabled on instances using this image)

<ul>
<li>Create is using an already existing <strong>disk</strong> (for example): <code>gcloud compute images create nested-vm-image --source-disk disk1 --source-disk-zone us-central1-a --licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"</code> (You will have to create disk1 yourself, for example by starting an instance from an OS image, and deleting the instance afterwards while keeping the boot disk)</li>
<li>Create it using an already existing <strong>image</strong> with (for example): <code>gcloud compute images create nested-vm-image --source-image=debian-10-buster-v20200326 --source-image-project=debian-cloud --licenses="https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"</code></li>
</ul></li>
<li>Create an <strong>instance</strong> from a nested virtualization enabled image. Something like: <code>gcloud compute instances create example-nested-vm --zone us-central1-b --image nested-vm-image</code> . Keep in mind that you need to pick a zone that has at least Haswell CPUs.</li>
</ul>

<p>SSH into the new instance and verify that the feature is enabled by running <code>grep vmx /proc/cpuinfo</code>. If you get any output it means that the feature is enabled successfully.</p>
