You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04虚拟机中Minikube启动失败求助(含cri-docker.socket问题)

解决Ubuntu 20.04虚拟机中Minikube启动失败的问题

错误原因分析

  1. VirtualBox驱动报错(VERR_SVM_NO_SVM):你的Ubuntu虚拟机本身运行在虚拟化平台上,宿主机未启用AMD-V,或未给该虚拟机开启嵌套虚拟化权限,导致Minikube无法在虚拟机内再创建VirtualBox虚拟机。
  2. none驱动报错(cri-docker.socket不存在):Minikube的none驱动需要符合CRI标准的容器运行时,默认Docker的dockerd不满足要求,必须安装cri-dockerd组件。

推荐解决方案(适合SSH连接的虚拟机环境)

方案一:使用Docker驱动(最简便)

Docker驱动无需嵌套虚拟化,直接利用主机Docker运行Minikube节点,步骤如下:

  • 安装并配置Docker:
    sudo apt update
    sudo apt install -y docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    sudo usermod -aG docker $USER
    
    执行完后退出SSH会话,重新登录以让用户组权限生效。
  • 启动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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 11:54:31