第 3 章 构建和管理逻辑绑定的镜像
通过使用逻辑绑定的镜像,您可以支持生命周期绑定到基本 bootc 镜像的容器镜像。这有助于为应用程序和操作系统划分不同的操作流程,容器镜像从基础镜像引用为镜像文件或等同。因此,您可以为系统安装管理多个容器镜像。您可以轻松将容器用于生命周期密集型工作负载,如安全代理和监控工具。通过使用 bootc upgrade 命令,您可以升级所有内容。
3.1. 逻辑绑定的镜像 复制链接链接已复制到粘贴板!
逻辑地绑定的图像与物理绑定的图像不同。两种方法都提供了一些优点和缺点。
使用逻辑上绑定的镜像,将容器镜像与基础 bootc 系统镜像关联。以下是生命周期绑定工作负载的示例,其活动通常不会在主机外更新:
- logging,如 journald→remote log forwarder 容器
- 监控,如 Prometheus node_exporter
- 配置管理代理
- 安全代理
逻辑绑定镜像的另一重要属性是它们必须存在于主机上,可能来自引导过程的早期阶段。
与 Podman 或 Docker 等工具的默认使用不同,镜像可能会在引导启动后动态拉取,这需要可正常工作的网络。例如,如果远程 registry 临时不可用,主机系统可能会在不进行日志转发或监控的情况下运行,这并不是必须的。通过逻辑地绑定镜像,您可以像 systemd 单元中使用 ExecStart= 一样引用容器镜像。
逻辑绑定的镜像具有以下优点:
- 您可以在不重新下载应用程序容器镜像的情况下更新 bootc 系统。
- 您可以在不修改 bootc 系统镜像的情况下更新应用程序容器镜像,这对开发工作特别有用。
在使用逻辑上绑定的镜像时,您必须管理多个容器镜像以便系统安装逻辑绑定的镜像。这是一个优点,也是一个缺点。例如,对于断开连接或离线安装,您必须镜像所有容器,而不仅仅是一个。在此模型中,应用程序镜像仅从基础镜像引用为 .image 文件或等同文件。
bootc 升级由以下步骤组成:
- 获取新的基础镜像。
- 读取新的基础镜像 root 文件系统,以发现逻辑上绑定的镜像。
-
将任何发现的、逻辑绑定的镜像拉取到 bootc-owned
/usr/lib/bootc/storage中。