Minikube切换Podman驱动启动失败:GUEST_PROVISION错误、卷已存在等问题求助
大家好,我最近在把Minikube的驱动从Docker换成Podman时遇到了一堆棘手的问题,折腾了好几天都没搞定,想请教下有没有大佬碰到过类似情况?
先说明下我的环境:
- 系统:Ubuntu 18.04.6(同时在Ubuntu 20.04上测试过,报错完全一致)
- Minikube版本:1.31.1
- Podman版本:3.4.2
安装步骤
Minikube是通过以下命令安装的:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb sudo dpkg -i minikube_latest_amd64.deb
Podman的安装流程:
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_${VERSION_ID}/Release.key -O- | sudo apt-key add - sudo apt update sudo apt install podman -y
装完之后,Minikube和Podman单独运行都没问题,接下来我配置Minikube切换到Podman驱动:
minikube config set rootless true minikube config set driver podman minikube config set cpus 4 minikube config set memory 8192 minikube config set container-runtime containerd
用minikube config view验证过所有配置都是正确的。
切换背景
之所以要换Podman,是因为客户那边一直在用Podman的无root模式,虽然听说Docker现在也支持无root,但客户明确要求只能用Podman。我试过把容器运行时换成crio,结果还是触发同样的错误。
启动时的具体问题
运行minikube start后,一开始流程看起来正常,先出现了一个提示说某个功能尚未实现,查了Minikube的文档知道这是Podman驱动目前的实验性限制,应该不是导致启动失败的关键问题。但过了几分钟后,启动就直接失败了。
查看配置文件状态时,显示未知状态;运行minikube status,返回结果显示大部分组件都不存在。尝试导出日志minikube logs --file=logs.txt时也报错,错误信息和启动时的报错类似。
我去Minikube的GitHub仓库搜了相关问题,比如guest_status相关的issue,但大部分都是和Docker有关的,我这边Docker运行完全正常,所以这些issue对我没什么参考价值。有个帖子提到加--wait-timeout 15m0s --wait all参数能解决问题,但我试了之后还是没用。
后来我注意到启动时的关键错误提示:卷名称已存在,于是做了以下清理操作:
- 用
minikube delete删除现有配置文件 - 用
podman volume rm --all删除所有Podman卷
但重新启动Minikube还是失败,这次又弹出新的错误:容器minikube不存在,可我查看配置文件列表时,这个配置明明还在。
我已经卸载重装过Minikube和Podman好几次了,两台不同Ubuntu版本的机器都是同样的错误。我怀疑是不是Podman作为Minikube驱动还处于实验阶段,稳定性不足导致的,但还是想看看有没有人找到了解决办法?
有没有大佬能给点思路或者解决方案?感激不尽!
备注:内容来源于stack exchange,提问作者Michael




