第 7 章 OpenShift 的镜像模式
OpenShift 的镜像模式允许您通过将额外镜像分层到基础镜像来轻松地扩展基本 RHCOS 镜像的功能。此分层不会修改基本 RHCOS 镜像。相反,它会创建一个自定义层次镜像,其中包含所有 RHCOS 功能,并为集群中的特定节点添加额外的功能。
镜像模式是操作系统管理的一种云原生方法,可将您的操作系统视为容器镜像。您可以将操作系统配置定义为代码,将其构建为统一镜像,并在整个团队中持续部署。
7.1. 关于 OpenShift 的镜像模式 复制链接链接已复制到粘贴板!
OpenShift 的镜像模式允许您在任何集群节点上自定义底层节点操作系统。这有助于保持一切最新状态,包括节点操作系统和添加的任何自定义,如特殊软件。
您可以使用 Containerfile 创建自定义分层镜像,并使用自定义对象将其应用到节点。在任何时候,您可以通过删除该自定义对象来删除自定义分层镜像。
使用 OpenShift 的镜像模式,您可以在基础镜像中安装 RPM,自定义内容将与 RHCOS 一起引导。Machine Config Operator (MCO) 可以推出这些自定义分层镜像,并像默认 RHCOS 镜像一样监控这些自定义容器。OpenShift 的镜像模式为管理 RHCOS 节点提供了更大的灵活性。
不建议将实时内核和扩展 RPM 作为自定义分层内容安装。这是因为这些 RPM 可能会与使用机器配置安装的 RPM 冲突。如果存在冲突,MCO 会在尝试安装机器配置 RPM 时进入 degraded
状态。在继续操作前,您需要从机器配置中删除冲突扩展。
将自定义分层镜像应用到集群后,您可以有效地 获取自定义分层镜像和这些节点的所有权。虽然红帽仍负责维护和更新标准节点上的基础 RHCOS 镜像,但在使用自定义分层镜像的节点中维护和更新镜像。假定您对自定义分层镜像应用的软件包及软件包可能出现的问题负责。
在节点上部署自定义分层镜像的方法有两种:
- On-cluster 镜像模式
-
使用 on-cluster 镜像模式,您可以创建一个
MachineOSConfig
对象,在其中包含 Containerfile 和其他参数。构建会在集群中执行,生成的自定义分层镜像会自动推送到您的存储库,并应用到您在MachineOSConfig
对象中指定的机器配置池。整个过程会完全在集群中执行。 - out-of-cluster 镜像模式
-
通过 out-of-镜像模式,您可以创建一个 Containerfile,引用 OpenShift Container Platform 镜像和您要应用的 RPM,在您自己的环境中构建分层镜像,并将镜像推送到您的存储库。然后,在集群中,为指向新镜像的目标节点池创建一个
MachineConfig
对象。Machine Config Operator 覆盖基础 RHCOS 镜像,由关联的机器配置中的osImageURL
值指定,并引导新镜像。
对于这两种方法,使用在集群的其余部分上安装的同一基本 RHCOS 镜像。使用 oc adm release info --image-for rhel-coreos
命令获取集群中使用的基础镜像。