第 16 章 单节点 OpenShift 的基于镜像的安装
16.1. 了解用于单节点 OpenShift 的基于镜像的安装和部署
基于镜像的安装可通过简化安装过程,显著降低单节点 OpenShift 集群的部署时间。
此方法启用安装目标主机上单节点 OpenShift 的预安装和验证实例。这些预安装的主机可以在网络边缘快速重新配置和部署,包括在断开连接的环境中,这只需要最少的人工干预。
要使用基于镜像的方法与 GitOps Zero Touch Provisioning (ZTP)一起部署受管集群,您可以使用 SiteConfig operator。如需更多信息,请参阅 SiteConfig operator。
16.1.1. 单节点 OpenShift 集群的基于镜像的安装和部署概述
在网络边缘部署基础架构对具有低带宽、高延迟和断开连接的环境的服务供应商带来了挑战。安装和部署单节点 OpenShift 集群也非常昂贵且耗时。
一个在网络边缘安装和部署单节点 OpenShift 集群的基于镜像的方法,它通过分离安装和部署阶段而解决了响应的挑战。
图 16.1. 受管单节点 OpenShift 集群的基于镜像的安装和部署概述
- 基于镜像的安装
- 在一个中央站点(如服务中心或工厂)中预安装带有单节点 OpenShift 的多个主机。然后,使用单一实时安装 ISO 验证这些主机的基本配置,并利用基于镜像的方法大规模执行可重复生成的工厂安装。
- 基于镜像的部署
- 将预安装和验证的主机发送到远程站点,并使用配置 ISO 在几分钟内快速重新配置和部署集群。
您可以从两个方法中选择来预安装和配置 SNO 集群。
- 使用 openshift-install程序
- 
								对于单节点 OpenShift 集群,使用 openshift-install程序来手动创建对所有主机通用的实时安装 ISO。然后,再次使用程序来创建配置 ISO,以确保主机是唯一的。如需更多信息,请参阅"使用 openshift-install 程序部署受管单节点 OpenShift"。
- 使用 IBI Operator
- 
								对于受管单节点 OpenShift 集群,您可以使用带有 Image Based Install (IBI) Operator 的 openshift-install来扩展操作。该程序创建实时安装 ISO,然后 IBI Operator 会为每个主机创建一个配置 ISO。如需更多信息,请参阅"使用 IBI Operator 部署单节点 OpenShift"。
16.1.1.1. 单节点 OpenShift 集群的基于镜像的安装
使用 Lifecycle Agent,您可以生成 OCI 容器镜像来封装单节点 OpenShift 集群的实例。此镜像派生自一个专用集群,您可以使用目标 OpenShift Container Platform 版本进行配置。
						您可以在实时安装 ISO 中引用此镜像,以在多个主机中一致性地预安装已配置并经过验证的单节点 OpenShift 实例。使用这个方法,可以在一个中央位置(例如在工厂或服务中心)准备主机,然后再将预安装的主机传送到远程站点,以进行快速重新配置和部署。无论您只使用 openshift-install 程序部署主机,还是使用带有 IBI Operator 的程序,则预安装主机的说明是相同的。
					
以下是基于镜像的安装过程的高级概述:
- 从单节点 OpenShift 集群生成镜像。
- 
								使用 openshift-install程序在实时安装 ISO 中嵌入 seed 镜像 URL 和其他安装工件。
- 使用实时安装 ISO 启动主机以预安装主机。 - 在此过程中, - openshift-install程序将 Red Hat Enterprise Linux CoreOS (RHCOS) 安装到磁盘,将您生成的镜像拉取 (pull) 并将发行镜像预缓存到磁盘中。
- 安装完成后,主机已准备好,可以被发送到远程站点,以进行快速重新配置和部署。
16.1.1.2. 单节点 OpenShift 集群的基于镜像的部署
						您可以使用 openshift-install 程序或 IBI Operator 来配置和部署预安装了基于镜像的安装的主机。
					
- 单节点 OpenShift 集群部署
- 要使用 - openshift-install程序配置带有站点特定详情的目标主机,您必须创建以下资源:- 
											install-config.yaml安装清单
- 
											image-based-config.yaml清单
 - openshift-install程序使用这些资源来生成一个配置 ISO,您将它附加到预安装的目标主机来完成部署。
- 
											
- 管理的单节点 OpenShift 集群部署
- Red Hat Advanced Cluster Management (RHACM) 和 Kubernetes Operator (MCE) 的多集群引擎使用 hub 和spoke 架构在多个站点之间管理和部署单节点 OpenShift 集群。使用此方法,hub 集群充当管理 spoke 集群的中央 control plane,通常是在网络边缘部署的远程单节点 OpenShift 集群。 - 您可以为 hub 集群中基于镜像的部署定义特定于站点的配置资源。IBI Operator 使用这些配置资源在远程站点重新配置预安装的主机,并将主机部署为受管单节点 OpenShift 集群。这种方法对电信提供商和其他具有广泛分布式基础架构的服务提供商特别有用,远程站点中的端到端安装会非常耗时且昂贵。 - 以下是预安装基于镜像的安装的主机基于镜像的部署过程的高级概述: - 在 hub 集群中为预安装的主机定义特定于站点的配置资源。
- 在 hub 集群中应用这些资源。这将启动部署过程。
- IBI Operator 会创建一个配置 ISO。
- IBI Operator 使用附加配置 ISO 引导目标预安装的主机。
- 主机挂载配置 ISO 并开始重新配置过程。
- 重新配置完成后,单节点 OpenShift 集群已就绪。
 - 由于主机已预装了基于镜像的安装,因此技术人员可以在几分钟内重新配置和部署主机。 
16.1.2. 基于镜像的安装和部署组件
以下内容描述了基于镜像的安装与部署中的组件。
- seed 镜像
- 从带有目标 OpenShift Container Platform 版本的一个专用集群中生成的 OCI 容器镜像。
- seed 集群
- 用于创建 seed 镜像的专用单节点 OpenShift 集群,它使用目标 OpenShift Container Platform 版本进行部署。
- 生命周期代理
- 生成 seed 镜像。
- Image Based Install (IBI) Operator
- 当您部署受管集群时,IBI Operator 会从您在 hub 集群中定义的站点特定资源创建一个配置 ISO,并使用裸机置备服务将配置 ISO 附加到预安装的主机。
- openshift-install程序
- 创建安装和配置 ISO,并在实时安装 ISO 中嵌入 seed 镜像 URL。如果没有使用 IBI Operator,则必须手动将配置 ISO 附加到预安装的主机中来完成部署。
16.1.3. 基于镜像的安装和部署的集群指南
有关基于镜像的成功安装和部署,请参阅以下指南。
16.1.3.1. 集群指南
- 如果您使用 Red Hat Advanced Cluster Management (RHACM),为了避免在 seed 镜像中包含任何 RHACM 资源,需要在生成 seed 镜像前禁用所有可选的 RHACM 附加组件。
16.1.3.2. seed 集群指南
- 如果网络边缘的集群部署需要代理配置,您必须从 seed 集群创建一个带有代理配置的镜像。代理配置不必相互匹配。
- 如果在 seed 集群中设置了最大传输单元 (MTU),您必须在基于镜像配置 ISO 的静态网络配置中设置相同的 MTU 值。
- 
								您的单节点 OpenShift seed 集群必须具有共享 /var/lib/containers目录,以便在基于镜像的安装过程中预缓存镜像。如需更多信息,请参阅"在 ostree stateroot 之间配置共享容器分区"。
- 从与目标裸机主机相同的硬件的单节点 OpenShift 集群创建一个 seed 镜像。seed 集群必须反映您在以下项目的目标集群配置: - CPU 拓扑 - CPU 架构
- CPU 内核数
- 调整的性能配置,如保留 CPU 的数量
 
- IP 版本 注意- 这个版本不支持双栈网络。 
- 断开连接的 registry 注意- 如果目标集群使用断开连接的 registry,则 seed 集群必须使用断开连接的 registry。registry 不必相同。 
- FIPS 配置
 
16.1.4. 基于镜像的安装和部署的软件先决条件
基于镜像的安装和部署需要这些所需组件的以下最低软件版本:
| 组件 | 软件版本 | 
|---|---|
| 受管集群版本 | 4.17 | 
| hub 集群版本 | 4.16 | 
| Red Hat Advanced Cluster Management (RHACM) | 2.12 | 
| 生命周期代理 | 4.16 或更高版本 | 
| Image Based Install Operator | 4.17 | 
| 
									 | 4.17 | 
