首页 > 解决方案 > 在 Google Kubernetes Engine 集群上启用 VMX/SVM

问题描述

我有GKE集群(主版本:1.14.10-gke.24)。

我正在尝试运行以下容器(Android-Emulator): https ://github.com/budtmo/docker-android 。

*我只是为此创建了 yaml 部署文件。

在我运行部署并尝试在 pod 内运行新的 android 模拟器后,使用:

emulator @samsung_galaxy_s8_8.0

我收到以下错误:

仿真器:错误:x86 仿真当前需要硬件加速!

请确保 KVM 已正确安装且可用。

CPU加速状态:KVM需要支持vmx或svm的CPU

有关在 Linux 上配置 VM 加速的更多信息: https ://developer.android.com/studio/run/emulator-acceleration#vm-linux

关于加速的一般信息:https ://developer.android.com/studio/run/emulator-acceleration 。

我该如何解决?我应该在集群上启用 VMX,如果是,我该怎么做?

标签: androidkubernetesgoogle-cloud-platformemulationgoogle-kubernetes-engine

解决方案


目前嵌套虚拟化仅在 GCE 上可用,根据此文档

已经有一个关于支持Nested Virtualizationon的问题GKE。我想说它还没有介绍,这就是为什么你找不到关于 GKE 和nested virtualization.

到目前为止,我只能看到一种解决方法:

作为一种解决方法,我一直在做这个用户正在做的事情,即克隆现有的 GKE 节点映像并添加许可证,并将实例组的模板复制并编辑到映像中:

https://groups.google.com/d/msg/kubernetes-users/Lq0ttadDOYI/1y1RVQMCBgAJ

显然它不是 100% 支持的,但我仍然获得了很多 GKE 优势和嵌套虚拟化。

希望有帮助。


推荐阅读