如何在 Google Cloud Platform VM 上启用 VT-X/AMD-v?

cyb*_*ast 1 google-cloud-platform kubernetes minikube

我正在尝试在 GCP VM 上安装 Minikube。我遇到了操作系统抱怨需要启用 VT-X/AMD-v 的问题。是否有任何具体说明可以在 GCP 上进行设置?

Jan*_*art 5

GCP 支持嵌套虚拟化,我可以确认我链接的文档是最新且可行的。

在这里引用您需要的 3 个基本点:

  • 受支持的操作系统
    • CentOS 7 内核版本 3.10
    • Debian 9 内核版本 4.9
    • Debian 8 内核版本 3.16
    • RHEL 7 内核版本 3.10
    • SLES 12.2 内核版本 4.4
    • SLES 12.1 内核版本 3.12
    • 带有内核版本 4.4 的 Ubuntu 16.04 LTS
    • 带有内核版本 3.13 的 Ubuntu 14.04 LTS
  • 使用特殊许可证创建一个镜像https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx(这是免费提供的;它只是向 GCE 发出信号,表明您希望在使用此镜像的实例上启用该功能)
    • Create is using an existing disk (for example):(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"您必须自己创建 disk1,例如通过从操作系统映像启动实例,然后在保留启动磁盘的同时删除实例)
    • 使用已经存在的图像创建它(例如):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"
  • 从启用了嵌套虚拟化的映像创建实例。类似的东西:gcloud compute instances create example-nested-vm --zone us-central1-b --image nested-vm-image。请记住,您需要选择至少具有 Haswell CPU 的区域。

通过 SSH 连接到新实例并通过运行grep vmx /proc/cpuinfo. 如果您得到任何输出,则表示该功能已成功启用。