5.8. enclave 支持的好处


enclave 支持限制内部访问网络的特定部分。与一个 demilitarized zone (DMZ)网络不同,它允许通过防火墙界限和出站流量访问,enclaves 不跨防火墙界限。

新的 enclave 支持功能适用于在至少一个中间断开连接的网络中保护的多个 enclave 时需要镜像(mirror)。

enclave 支持有以下优点:

  • 您可以镜像多个 enclaves 的内容,并将其集中到一个内部 registry 中。因为有些客户希望在镜像的内容上运行安全检查,所以此设置他们可以一次性运行这些检查。然后,在镜像到下游 enclaves 之前,内容会被检查。
  • 您可以直接从集中式内部 registry 中镜像内容,而无需为每个 enclave 重启镜像过程。
  • 您可以最小化网络阶段的数据传输,以确保 Blob 或镜像仅从一个阶段传输到另一个阶段。

5.8.1. enclave 镜像工作流

上一个镜像概述了在不同环境中使用 oc-mirror 插件的流程,包括在有互联网连接和没有互联网连接的环境中进行。

带有互联网连接的环境

  1. 用户执行 oc-mirror 插件 v2,将在线 registry 的内容镜像到本地磁盘目录。
  2. 镜像内容保存到磁盘中,用于在离线环境中使用。

断开连接的企业环境(没有互联网 ):

  • 流 1:

    • 用户运行 oc-mirror 插件 v2,从磁盘目录中加载镜像的内容(来自在线的环境)加载到 enterprise-registry.in registry。
  • 流 2:

    1. 更新 registry.conf 文件后,用户执行 oc-mirror 插件 v2 以将来自 enterprise-registry.in registry 的内容镜像到 enclave 环境中。
    2. 内容被保存到一个磁盘目录,用于转移到 enclave。

Enclave 环境 (没有互联网):

  • 用户运行 oc-mirror 插件 v2,将目录从磁盘目录加载到 enclave-registry.in registry 中。

图显示了跨这些环境的数据流,侧重于使用 oc-mirror 来处理断开连接的环境和没有互联网连接的环境。

5.8.2. 镜像到 enclave

当镜像到 enclave 时,您必须首先将必要的镜像从一个或多个 enclaves 传送到企业中央 registry 中。

中央 registry 位于安全网络中,特别是断开连接的环境,且不会直接链接到公共互联网。但是,用户必须在一个可访问公共互联网的环境中执行 oc mirror

流程

  1. 在断开连接的环境中运行 oc-mirror 插件 v2 之前,请创建一个 registry.conf 文件。该文件的 TOML 格式如下所述:

    注意

    建议将文件存储在 $HOME/.config/containers/registries.conf/etc/containers/registries.conf 下。

    registry.conf 示例

    [[registry]]
    location="registry.redhat.io"
    [[registry.mirror]]
    location="<enterprise-registry.in>"
    
    [[registry]]
    location="quay.io"
    [[registry.mirror]]
    location="<enterprise-registry.in>"
    Copy to Clipboard Toggle word wrap

  2. 生成镜像存档。

    1. 要将所有 OpenShift Container Platform 内容收集到磁盘的一个归档中(<file_path>/enterprise-content),请运行以下命令:

      $ oc mirror --v2 -c isc.yaml file://<file_path>/enterprise-content
      Copy to Clipboard Toggle word wrap

      isc.yaml 示例

      apiVersion: mirror.openshift.io/v2alpha1
      kind: ImageSetConfiguration
      mirror:
        platform:
          architectures:
            - "amd64"
          channels:
            - name: stable-4.15
              minVersion: 4.15.0
              maxVersion: 4.15.3
      Copy to Clipboard Toggle word wrap

      生成存档后,它将传送到断开连接的环境中。传输机制不是 oc-mirror 插件 v2 的一部分。企业网络管理员需要负责制定传输策略。

      在某些情况下,传输是手动完成的,例如在一个没有网络连接的环境中,将磁盘从一个物理机器中拔出,并插入到另外一个系统。在其他情况下,使用安全文件传输协议 (SFTP) 或其他协议。

  3. 完成存档传输后,您可以再次执行 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>/
    Copy to Clipboard Toggle word wrap

    其中:

    • --from 指向包含存档的文件夹。它以 file:// 开头。
    • docker:// 是镜像 (mirror) 的目的地,这是最后的参数。因为它是一个 docker registry。
    • -c (--config)是一个强制参数。它可让 oc-mirror 插件 v2 最终仅将存档的子部分镜像到 registry。一个存档可能包含几个 OpenShift Container Platform 版本,但断开连接的环境或 enclave 可能只镜像几个。
  4. 准备 imageSetConfig YAML 文件,该文件描述了要镜像到 enclave 的内容:

    示例 isc-enclave.yaml

    apiVersion: mirror.openshift.io/v2alpha1
    kind: ImageSetConfiguration
    mirror:
      platform:
        architectures:
          - "amd64"
        channels:
          - name: stable-4.15
            minVersion: 4.15.2
            maxVersion: 4.15.2
    Copy to Clipboard Toggle word wrap

    您必须在可访问断开连接的 registry 的机器上运行 oc-mirror 插件 v2。在上例中,可以访问断开连接的环境 enterprise-registry.in

  5. 更新图形 URL

    如果您使用 graph:true,oc-mirror 插件 v2 会尝试访问 cincinnati API 端点。由于此环境断开连接,因此请务必导出环境变量 UPDATE_URL_OVERRIDE,以引用 OpenShift Update Service (OSUS)的 URL:

    $ export UPDATE_URL_OVERRIDE=https://<osus.enterprise.in>/graph
    Copy to Clipboard Toggle word wrap

    有关在 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 文件中包括这些版本。

  6. 为 enclave 从企业 registry 中生成镜像存档。

    要为 enclave1 准备存档,用户使用针对那个 enclave 专用的 imageSetConfiguration 在企业断开连接的环境中执行 oc-mirror 插件 v2。这样可确保仅镜像 enclave 需要的镜像:

    $ oc mirror --v2 -c isc-enclave.yaml
    file:///disk-enc1/
    Copy to Clipboard Toggle word wrap

    此操作将所有 OpenShift Container Platform 内容收集到存档中,并在磁盘上生成存档。

  7. 生成存档后,它将传送到 enclave1 网络。传输机制不是 oc-mirror 插件 v2 的责任。
  8. 将内容镜像到 enclave registry

    完成存档传输后,用户可以再次执行 oc-mirror 插件 v2,以便将相关存档内容镜像到 registry。

    $ oc mirror --v2 -c isc-enclave.yaml --from file://local-disk docker://registry.enc1.in
    Copy to Clipboard Toggle word wrap

    enclave1 中的 OpenShift Container Platform 集群的管理员现在可以安装或升级该集群。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat