Podman 5 携多平台镜像和虚拟机支持而来

Podman 所做的所有更改最终汇聚成一个更灵活、更具响应能力的容器运行时引擎。

译自Podman 5 Arrives with Multiplatform Images, VM Support,作者 Jack Wallen。

如果你一直在使用 Podman 进行容器部署或开发,那么你将大饱口福。

Red Hat最近发布了Podman 容器管理系统的 5.0 版本,该版本完全重新设计了 Podman 虚拟机管理工具(podman-machine)的代码。

官方发布公告中提到:"Podman machine 包含一组子命令,用于管理 Podman 虚拟机,这是用户在 MacOS 或 Windows 上运行 Podman 所必需的。"

Podman 5.0中,新增了许多功能和改进,包括:

  • 新的_podman machine reset_选项,它简化了重置 Podman 虚拟机的过程
  • Podman 虚拟机的全新订阅管理器和_qemu-user-static_功能
  • Podman 虚拟机的更快的启动时间
  • 用于在远程机器上快速构建多平台镜像的_podman farm build_
  • 增加了对开放容器计划工件的支持的 podman manifest
  • 对无根网络工具的更改,以获得性能更高的网络堆栈

对 Podman 所做的所有更改最终都汇集到一个更灵活、响应更快的容器运行时引擎中。

问题

目前使用 Podman 5 的能力相当有限。据我所知,截至本周,获取/测试 Podman 5 的唯一途径是通过Fedora Linux,因为其他发行版的存储库中唯一可用的版本是 4.x。对于 Fedora,安装 Podman 5 的唯一途径是通过开发版本。

如何在 Fedora 上安装 Podman 5

首先,我不建议在生产机器上安装 Podman 的开发版本。仅在测试环境中使用它。我也不会建议在虚拟机上执行此操作,因为 Podman 将难以访问 KVM 系统。

另一个问题是,你无法使用 Fedora 40 beta 1 之前的任何 Fedora 版本。如果你使用的是 39 或更早版本的 Fedora,则此方法将不起作用。因此,你需要做的第一件事是下载 Fedora 40 beta 的 ISO。完成后,创建一个可引导闪存驱动器,启动进入 Fedora 40 beta 1,然后安装操作系统。

安装 Fedora 40 beta 1 后,你可以使用以下命令安装 Podman 5.0 的开发版本:

css 复制代码
sudo dnf update --refresh --enablerepo=updates-testing podman

完成后,你可以使用以下命令验证安装:

css 复制代码
podman --version

你应该在输出中看到类似以下内容:

复制代码
podman version 5.0.1

Podman 5.0 最好的功能之一是能够快速重置机器环境。此命令将停止所有正在运行的机器并删除它们。此外,还将删除配置数据文件(例如机器磁盘映像和先前提取的缓存映像)。该命令只有一个选项,即 --force(或仅 -f),它在未经确认的情况下重置所有内容。

假设你创建了几个机器,如下所示:

  • podman machine init dev1
  • podman machine init dev2
  • podman machine init web1
  • podman machine init web2

然后,你使用以下命令启动它们:

sql 复制代码
podman machine start dev1
podman machine start dev2
podman machine start web1
podman machine start web2

接下来,你使用以下命令访问每台机器:

复制代码
podman machine ssh NAME

其中 NAME 可以是_dev1_、dev2web1_或_web2

访问机器后,你开展了开发工作,运行了一些测试,或者对机器执行了任何你需要执行的操作。使用完这些机器后,如果你想使用 Podman 4.x 摆脱它们,则必须分别停止它们,然后使用以下命令删除它们:

arduino 复制代码
podman machine stop NAME
podman machine rm NAME

其中 NAME 可以是 dev1、dev2、web1 或 web2。

使用 Podman 5.0,可以使用以下命令完成所有这些操作:

perl 复制代码
podman machine reset

你的所有机器都将被停止并删除(以及关联的文件和数据)。

新版本还包括podman farm build命令,该命令在 farm 节点上构建镜像,然后将它们捆绑到清单列表中。我还没有测试过此功能,但根据手册页(使用man podman-farm阅读):

Podman 通过读写位于$XDG_CONFIG_HOME/containers下的podman-connections.json文件来管理 farm,如果未设置 env,则默认为$HOME/.config/containers。 或者可以将PODMAN_CONNECTIONS_CONF环境变量设置为 podman 将使用的一个完整文件路径。此文件由 podman 命令管理,用户切勿直接编辑。要手动配置 farm,请使用containers.conf中的[farm]部分。

对于那些不使用 Fedora 40 的人,我还没有发现任何迹象表明它何时可用于不同的发行版。如果我猜的话,Podman 5.0 将在今年随 9.4 版本进入 Red Hat Enterprise Linux。如果发生这种情况,它很可能会很快进入Rocky LinuxAlmaLinuxOracle Linux

同样重要的是,在更新到 Podman 5.0 之前,用户要了解 Podman 4 机器与 Podman 5.0 不兼容。因此,在升级到 5.0 之前,您应该删除所有 Podman 4 机器。在删除这些机器并升级到 Podman 5.0 之后,还建议在部署任何新机器之前运行podman machine reset命令。

要详细了解 Podman 5.0,请查看Podman 网站上的新功能摘要文章

本文在云云众生yylives.cc/)首发,欢迎大家访问。

相关推荐
努力的搬砖人.6 小时前
配置 Docker 镜像加速器
运维·docker·容器
江湖有缘6 小时前
实时监控所有端口,Docker 部署 WatchYourPorts 保姆级教程
运维·docker·容器
pupudawang6 小时前
docker desktop安装redis
redis·docker·容器
赴前尘7 小时前
S3 命令行工具 Docker 容器运行
运维·docker·容器
米高梅狮子7 小时前
04.yaml和Kubernetes Pod精讲
云原生·容器·kubernetes
没有口袋啦7 小时前
基于K8s+Karmada的混合多云容器平台项目(Ubuntu22.04)(还在持续打磨中)
云原生·容器·kubernetes
她叫我大水龙7 小时前
Docker 安装和常用命令
运维·docker·容器
风翼靓崽7 小时前
记一次k8s pod的CrashLoopBackOff错误状态
云原生·容器·kubernetes
dualven_in_csdn7 小时前
【docker】docker下如何使用宿主主机的GPU
运维·docker·容器
菱玖8 小时前
K8s集群部署与应用运维实战
运维·容器·kubernetes