第 1 章 RHEL 的镜像模式简介
使用 RHEL 的镜像模式构建、测试,并使用与应用程序容器一样的工具和技术来部署操作系统。使用 registry.redhat.io/rhel9/rhel-bootc bootc 镜像可以使用 RHEL 的镜像模式。RHEL bootc 镜像与现有应用程序通用基础镜像(UBI)不同,它们包含通常排除的引导所需的其他组件,如内核、initrd、引导装载程序、固件等。
图 1.1. 使用 RHEL 的镜像模式构建、部署和管理操作系统
红帽为以下计算机架构提供 bootc 镜像:
- AMD 和 Intel 64 位体系架构 (x86-64-v2)
- 64 位 ARM 架构(ARMv8.0-A)
RHEL 的镜像模式的好处贯穿于系统的整个生命周期。以下列表包含一些最重要的优点:
- 容器镜像比其他镜像格式更易于理解和使用,且可快速构建
- Containerfiles,也称为 Dockerfile,提供了一种简单的方法来定义镜像的内容和构建指令。与其他镜像创建工具相比,构建和迭代容器镜像通常要快得多。
- 整合流程、基础架构和发布工件
- 因为您将应用程序作为容器分发,所以您可以使用同样的基础设施和流程来管理底层操作系统。
- 不可变的更新
-
正如容器化应用程序以不可变的方式更新一样,使用 RHEL 的镜像模式,操作系统也是如此。您可以以使用
rpm-ostree系统的同样的方式引导到更新,并在需要时回滚。
不支持使用 rpm-ostree 进行更改或安装内容。
- 跨混合云环境的可移植性
- 您可以在物理、虚拟化、云和边缘环境中使用引导镜像。
虽然容器为构建、传输和运行镜像提供基础,但在部署这些引导镜像后(使用安装机制),或者将它们转换为磁盘镜像非常重要,但系统不会作为容器运行。
支持的镜像类型 如下:
- 容器镜像格式:OCI
磁盘镜像格式:
- ISO
- QEMU copy-on-write (QCOW2), Raw
- Amazon 机器镜像 (AMI)
- 虚拟机镜像(VMI)
- 虚拟机磁盘(VMDK)
容器通过提供以下可能性来简化 RHEL 系统的生命周期:
- 构建容器镜像
-
您可以通过修改 Containerfile 来在构建时配置操作系统。RHEL 的镜像模式可使用
registry.redhat.io/rhel9/rhel-bootc容器镜像提供。您可以使用 Podman、OpenShift Container Platform 或其他标准容器构建工具来管理容器和容器镜像。您可以使用 CI/CD 管道自动化构建过程。 - 版本控制、镜像和测试容器镜像
- 您可以使用 Podman 或 OpenShift Container Platform 等任何容器工具版本、镜像、内省和签署您的派生的 bootc 镜像。
- 将容器镜像部署到目标环境中
有几个如何部署镜像的选项:
- Anaconda: 是 RHEL 使用的安装程序。您可以使用 Anaconda 和 Kickstart 将所有镜像类型部署到目标环境中,以自动化安装过程。
-
bootc-image-builder:是一种容器化工具,它将容器镜像转换为不同类型的磁盘镜像,并可选择将它们上传到镜像注册中心或对象存储中。 -
bootc: 是一个负责从容器注册中心获取容器镜像,并将其安装到系统、更新操作系统,或从现有的基于 ostree 的系统进行切换的工具。RHEL bootc 镜像默认包含bootc工具,并可用于所有镜像类型。但是,请记住不支持rpm-ostree,且不得用于进行更改。
- 更新您的操作系统
-
系统支持部署后带回滚的就地事务更新。默认情况下,自动更新是开启的。systemd 服务单元和 systemd 定时器单元文件检查容器注册中心中的更新,并将其应用到系统。由于更新是事务性的,所以需要重新启动。对于需要更复杂的或计划部署的环境,请禁用自动更新,并使用
bootc工具更新您的操作系统。
RHEL 有两种部署模式。两者都在部署期间提供同样的稳定性、可靠性和性能。查看它们的不同:
-
Package mode: 您可以使用 RHEL 镜像构建器构建基于软件包的镜像和 OSTree 镜像,您可以使用
composer-cli或 web 控制台管理软件包模式镜像。操作系统使用 RPM 软件包,并使用dnf软件包管理器进行更新。root 文件系统是可变的。但是,操作系统不能作为容器化应用进行管理。请参阅 编写自定义的 RHEL 系统镜像 产品文档。 -
镜像模式 :一种构建、部署和管理 RHEL 的容器原生方法。同样的 RPM 软件包作为基础镜像提供,更新作为容器镜像部署。root 文件系统默认是不可变的,但
/etc和/var除外,大多数内容来自容器镜像。
您可以选择使用镜像模式或 Package mode 部署来构建、测试和共享您的操作系统。镜像模式 还允许您像任何其他容器化应用程序一样管理操作系统。
1.1. 先决条件 复制链接链接已复制到粘贴板!
- 您有一个订阅的 RHEL 9 系统。如需更多信息,请参阅 RHEL 系统注册文档。
- 您有一个容器注册中心。您可以在本地创建注册中心,或者在 Quay.io 服务上创建一个免费帐户。要创建 Quay.io 帐户,请参阅 Red Hat Quay.io 页面。
- 您有一个具有生产或开发人员订阅的红帽帐户。Red Hat Enterprise Linux Overview 页面上提供了免费的开发人员订阅。
- 您已认证到 registry.redhat.io 。如需更多信息,请参阅 红帽容器注册中心身份验证 文章。