将 Podman 与 Minikube 结合使用、GUEST_PROVISION 错误、卷已存在等

将 Podman 与 Minikube 结合使用、GUEST_PROVISION 错误、卷已存在等

我有一个使用 Minikube 的 Kubernetes 项目。到目前为止,它一直使用 Docker 作为驱动程序。但是,我们被指示切换并改用 Podman。

问题源于 Podman 目前似乎仍处于与 Minikube 一起使用的实验阶段。没关系,因为 Podman 似乎对某些人有用。所以我需要弄清楚如何在我们的系统上启用 Podman。

此时 minikube 和 podman 都已分别启动并运行。下一步我将配置 Minikube 来运行 Podman

  • 迷你库
    • minikube 配置将 rootless 设置为 true
    • minikube 配置设置驱动程序 podman
    • minikube 配置设置 cpu 4
    • minikube 配置设置内存 8192
    • minikube 配置设置容器运行时 containerd

我跑minikube 配置视图只是为了验证一切设置是否正确。

只是提供一些背景信息。我们之所以要转换,部分原因是客户运行 podman,并且一直这样做是因为 podman 可以设置为无根运行。我知道 docker 现在有这个功能,或者我读过,但客户不能选择运行 docker。我也尝试过这两种方式容器克里欧作为容器运行时,但导致了同样的错误。

此时,我已准备好启动运行 podman 的集群。因此

启动 minikube

一开始一切看起来都很好。我遇到的第一个错误是

下载 kic 工件时出错

但这似乎不是问题,这只是说明它尚未实现。从我找到的文档来看,情况似乎如此。

然而几分钟后它就失败了。

minikube 失败

所以我检查了我的活跃个人资料。

未知状态

我得到了一个未知状态,这反映了初始化失败的事实。我运行minikube 状态并得到其中大部分都不存在的信息。

minikube 状态

我接下来要做的是检查日志,但在这里遇到了另一个错误。

minikube 日志 --file=logs.txt

日志

奇怪的是,它与我尝试启动集群时看到的情况类似。所以我从这里开始

我查看了 minikube github 上报告的相关问题客人状态错误,但是并不多。

那么从这里继续。我开始研究另一个方面,它看起来可能是集群本身初始化的失败点。

卷和容器名称

看起来卷名已经存在。好的,所以我要做的第一件事就是删除当前配置文件

minikube 删除

现在我查看 podman 卷,发现有一个名为迷你库。所以我删除了它,但我使用全部只是为了确定的论点。podman 卷 rm --all

我尝试再次启动集群,但再次失败。当卷问题发生时,它似乎会重新启动默认容器,但是,弹出下一个错误,容器迷你库不存在,无法找到。这很奇怪,因为当我检查个人资料列表时,它有当天的计划。

我花了很多时间研究这个问题,但还是没能找到任何答案。我希望有人看到这个问题并能提供一些建议。最后,我想说,这个问题与 Podman 的使用不稳定且仍处于试验阶段有关,正如 Minikube 网站上所述。

最后一件事,我尝试卸载并重新安装 Minikube 和 Podman。运行此程序并失败的主要系统是 Ubuntu 20.04,我切换到另一个系统进行测试,看看是系统问题还是与环境有关的问题。但两个系统上都出现了完全相同的错误。

有什么想法或见解吗?

答案1

阻止我将 Podman 用作 Minkube 驱动程序的主要问题是 Podman 版本。您需要安装更新版本的 Podman,我目前正在运行 4.6.2。

这可以通过几种方式完成。您可以从源代码构建,但我遇到了一些问题,因为从某些源代码构建 Podman 需要新版本的 Golang,我也很难获得它。您可以在这里找到有用的信息,从源代码构建

获取最新 podman 的另一种方法是使用 Kubic Project repo。当然,你必须使用不稳定而不是“稳定”的仓库。你可以在这里找到有关如何添加 Kubic 仓库的信息,添加 Kubic repo

请注意,还存在其他问题,例如 rootless 目前对我来说不起作用,并且存在一些与拉取容器镜像相关的问题。

相关内容