Ubuntu 20.04虚拟机中Minikube启动失败求助(含cri-docker.socket问题)
解决Ubuntu 20.04虚拟机中Minikube启动失败的问题
错误原因分析
- VirtualBox驱动报错(VERR_SVM_NO_SVM):你的Ubuntu虚拟机本身运行在虚拟化平台上,宿主机未启用AMD-V,或未给该虚拟机开启嵌套虚拟化权限,导致Minikube无法在虚拟机内再创建VirtualBox虚拟机。
- none驱动报错(cri-docker.socket不存在):Minikube的none驱动需要符合CRI标准的容器运行时,默认Docker的
dockerd不满足要求,必须安装cri-dockerd组件。
推荐解决方案(适合SSH连接的虚拟机环境)
方案一:使用Docker驱动(最简便)
Docker驱动无需嵌套虚拟化,直接利用主机Docker运行Minikube节点,步骤如下:
- 安装并配置Docker:
执行完后退出SSH会话,重新登录以让用户组权限生效。sudo apt update sudo apt install -y docker.io sudo systemctl start docker sudo systemctl enable docker sudo usermod -aG docker $USER - 启动Minikube:
minikube start --driver=docker
方案二:启用嵌套虚拟化,继续使用VirtualBox驱动
若宿主机允许修改设置,可通过开启嵌套虚拟化解决VirtualBox驱动问题:
- 关闭Ubuntu虚拟机,在宿主机的虚拟化工具中开启嵌套虚拟化:
- VirtualBox:虚拟机设置 → 系统 → 处理器 → 勾选「启用PAE/NX」和「启用嵌套VT-x/AMD-V」
- VMware:虚拟机设置 → 处理器 → 勾选「虚拟化 Intel VT-x/EPT 或 AMD-V/RVI」
- 启动Ubuntu虚拟机后,重新执行
minikube start
方案三:修复none驱动的cri-docker依赖
若坚持使用none驱动(直接复用主机资源),需手动安装cri-dockerd:
- 安装编译依赖:
sudo apt update sudo apt install -y git golang-go - 下载并编译cri-dockerd:
git clone https://github.com/Mirantis/cri-dockerd.git cd cri-dockerd mkdir -p bin go build -o bin/cri-dockerd - 安装二进制文件和systemd服务单元:
sudo install -o root -g root -m 0755 bin/cri-dockerd /usr/local/bin/cri-dockerd sudo cp -a packaging/systemd/* /etc/systemd/system sudo sed -i -e 's,/usr/bin/cri-dockerd,/usr/local/bin/cri-dockerd,' /etc/systemd/system/cri-docker.service sudo systemctl daemon-reload sudo systemctl enable --now cri-docker.socket cri-docker.service - 重新启动Minikube:
minikube start --driver=none
内容的提问来源于stack exchange,提问作者PedroG
相关产品推荐
相关产品推荐

