5.8. enclave 支持的好处
enclave 支持限制内部访问网络的特定部分。与一个 demilitarized zone (DMZ)网络不同,它允许通过防火墙界限和出站流量访问,enclaves 不跨防火墙界限。
新的 enclave 支持功能适用于在至少一个中间断开连接的网络中保护的多个 enclave 时需要镜像(mirror)。
enclave 支持有以下优点:
- 您可以镜像多个 enclaves 的内容,并将其集中到一个内部 registry 中。因为有些客户希望在镜像的内容上运行安全检查,所以此设置他们可以一次性运行这些检查。然后,在镜像到下游 enclaves 之前,内容会被检查。
- 您可以直接从集中式内部 registry 中镜像内容,而无需为每个 enclave 重启镜像过程。
- 您可以最小化网络阶段的数据传输,以确保 Blob 或镜像仅从一个阶段传输到另一个阶段。
5.8.1. enclave 镜像工作流 复制链接链接已复制到粘贴板!
上一个镜像概述了在不同环境中使用 oc-mirror 插件的流程,包括在有互联网连接和没有互联网连接的环境中进行。
带有互联网连接的环境 :
- 用户执行 oc-mirror 插件 v2,将在线 registry 的内容镜像到本地磁盘目录。
- 镜像内容保存到磁盘中,用于在离线环境中使用。
断开连接的企业环境(没有互联网 ):
流 1:
-
用户运行 oc-mirror 插件 v2,从磁盘目录中加载镜像的内容(来自在线的环境)加载到
enterprise-registry.inregistry。
-
用户运行 oc-mirror 插件 v2,从磁盘目录中加载镜像的内容(来自在线的环境)加载到
流 2:
-
更新
registry.conf文件后,用户执行 oc-mirror 插件 v2 以将来自enterprise-registry.inregistry 的内容镜像到 enclave 环境中。 - 内容被保存到一个磁盘目录,用于转移到 enclave。
-
更新
Enclave 环境 (没有互联网):
-
用户运行 oc-mirror 插件 v2,将目录从磁盘目录加载到
enclave-registry.inregistry 中。
图显示了跨这些环境的数据流,侧重于使用 oc-mirror 来处理断开连接的环境和没有互联网连接的环境。
5.8.2. 镜像到 enclave 复制链接链接已复制到粘贴板!
当镜像到 enclave 时,您必须首先将必要的镜像从一个或多个 enclaves 传送到企业中央 registry 中。
中央 registry 位于安全网络中,特别是断开连接的环境,且不会直接链接到公共互联网。但是,用户必须在一个可访问公共互联网的环境中执行 oc mirror。
流程
在断开连接的环境中运行 oc-mirror 插件 v2 之前,请创建一个
registry.conf文件。该文件的 TOML 格式如下所述:注意建议将文件存储在
$HOME/.config/containers/registries.conf或/etc/containers/registries.conf下。registry.conf示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成镜像存档。
要将所有 OpenShift Container Platform 内容收集到磁盘的一个归档中(
<file_path>/enterprise-content),请运行以下命令:oc mirror --v2 -c isc.yaml file://<file_path>/enterprise-content
$ oc mirror --v2 -c isc.yaml file://<file_path>/enterprise-contentCopy to Clipboard Copied! Toggle word wrap Toggle overflow isc.yaml 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成存档后,它将传送到断开连接的环境中。传输机制不是 oc-mirror 插件 v2 的一部分。企业网络管理员需要负责制定传输策略。
在某些情况下,传输是手动完成的,例如在一个没有网络连接的环境中,将磁盘从一个物理机器中拔出,并插入到另外一个系统。在其他情况下,使用安全文件传输协议 (SFTP) 或其他协议。
完成存档传输后,您可以再次执行 oc-mirror 插件 v2,以便将相关存档内容镜像到 registry (在示例中是
entrerpise_registry.in),如下例所示:oc mirror --v2 -c isc.yaml --from file://<disconnected_environment_file_path>/enterprise-content docker://<enterprise_registry.in>/
$ oc mirror --v2 -c isc.yaml --from file://<disconnected_environment_file_path>/enterprise-content docker://<enterprise_registry.in>/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
-
--from指向包含存档的文件夹。它以file://开头。 -
docker://是镜像 (mirror) 的目的地,这是最后的参数。因为它是一个 docker registry。 -
-c(--config)是一个强制参数。它可让 oc-mirror 插件 v2 最终仅将存档的子部分镜像到 registry。一个存档可能包含几个 OpenShift Container Platform 版本,但断开连接的环境或 enclave 可能只镜像几个。
-
准备
imageSetConfigYAML 文件,该文件描述了要镜像到 enclave 的内容:示例 isc-enclave.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您必须在可访问断开连接的 registry 的机器上运行 oc-mirror 插件 v2。在上例中,可以访问断开连接的环境
enterprise-registry.in。更新图形 URL
如果您使用
graph:true,oc-mirror 插件 v2 会尝试访问cincinnatiAPI 端点。由于此环境断开连接,因此请务必导出环境变量UPDATE_URL_OVERRIDE,以引用 OpenShift Update Service (OSUS)的 URL:export UPDATE_URL_OVERRIDE=https://<osus.enterprise.in>/graph
$ export UPDATE_URL_OVERRIDE=https://<osus.enterprise.in>/graphCopy to Clipboard Copied! Toggle word wrap Toggle overflow 有关在 OpenShift 集群上设置 OSUS 的更多信息,请参阅"使用 OpenShift Update Service 在断开连接的环境中更新集群"。
注意当在 OpenShift Container Platform 延长更新支持 (EUS) 版本间进行更新时,还需要包括在当前版本和目标版本间的中间次版本的镜像。oc-mirror 插件 v2 可能并不总是自动检测此要求,因此请检查 Red Hat OpenShift Container Platform Update Graph 页以确认包括了所需的中间版本。
使用 Update Graph 页查找应用程序推荐的中间次版本,在使用 oc-mirror 插件 v2 时,在
ImageSetConfiguration文件中包括这些版本。为 enclave 从企业 registry 中生成镜像存档。
要为
enclave1准备存档,用户使用针对那个 enclave 专用的imageSetConfiguration在企业断开连接的环境中执行 oc-mirror 插件 v2。这样可确保仅镜像 enclave 需要的镜像:oc mirror --v2 -c isc-enclave.yaml
$ oc mirror --v2 -c isc-enclave.yaml file:///disk-enc1/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此操作将所有 OpenShift Container Platform 内容收集到存档中,并在磁盘上生成存档。
-
生成存档后,它将传送到
enclave1网络。传输机制不是 oc-mirror 插件 v2 的责任。 将内容镜像到 enclave registry
完成存档传输后,用户可以再次执行 oc-mirror 插件 v2,以便将相关存档内容镜像到 registry。
oc mirror --v2 -c isc-enclave.yaml --from file://local-disk docker://registry.enc1.in
$ oc mirror --v2 -c isc-enclave.yaml --from file://local-disk docker://registry.enc1.inCopy to Clipboard Copied! Toggle word wrap Toggle overflow enclave1中的 OpenShift Container Platform 集群的管理员现在可以安装或升级该集群。