14.4. 下载镜像


factory-precaching-cli 工具允许您将以下镜像下载到分区服务器中:

  • OpenShift Container Platform 镜像
  • 包含在 5G RAN 站点的分布式单元 (DU) 配置集中的 Operator 镜像
  • 来自断开连接的 registry 的 Operator 镜像
注意

可用的 Operator 镜像列表在不同的 OpenShift Container Platform 版本中可能会有所不同。

14.4.1. 使用并行 worker 下载

factory-precaching-cli 工具使用并行 worker 同时下载多个镜像。您可以使用 --parallel-p 选项配置 worker 数量。默认数量设置为服务器可用 CPU 的 80%。

注意

您的登录 shell 可能仅限于 CPU 的子集,这降低了容器可用的 CPU。要删除此限制,您可以在命令前面使用 taskset 0xffffffff,例如:

# taskset 0xffffffff podman run --rm quay.io/openshift-kni/telco-ran-tools:latest factory-precaching-cli download --help

14.4.2. 准备下载 OpenShift Container Platform 镜像

要下载 OpenShift Container Platform 容器镜像,您需要知道多集群引擎版本。当使用 --du-profile 标志时,您还需要指定在要置备单节点 OpenShift 的 hub 集群中运行的 Red Hat Advanced Cluster Management (RHACM) 版本。

先决条件

  • 已安装 RHACM 和多集群引擎 Operator。
  • 您对存储设备进行分区。
  • 您有足够的空间用于分区设备上的镜像。
  • 您已将裸机服务器连接到互联网。
  • 具有有效的 pull secret。

流程

  1. 在 hub 集群中运行以下命令来检查 RHACM 版本和多集群引擎版本:

    $ oc get csv -A | grep -i advanced-cluster-management

    输出示例

    open-cluster-management                            advanced-cluster-management.v2.6.3           Advanced Cluster Management for Kubernetes   2.6.3                 advanced-cluster-management.v2.6.3                Succeeded

    $ oc get csv -A | grep -i multicluster-engine

    输出示例

    multicluster-engine                                cluster-group-upgrades-operator.v0.0.3       cluster-group-upgrades-operator              0.0.3                                                                   Pending
    multicluster-engine                                multicluster-engine.v2.1.4                   multicluster engine for Kubernetes           2.1.4                 multicluster-engine.v2.0.3                        Succeeded
    multicluster-engine                                openshift-gitops-operator.v1.5.7             Red Hat OpenShift GitOps                     1.5.7                 openshift-gitops-operator.v1.5.6-0.1664915551.p   Succeeded
    multicluster-engine                                openshift-pipelines-operator-rh.v1.6.4       Red Hat OpenShift Pipelines                  1.6.4                 openshift-pipelines-operator-rh.v1.6.3            Succeeded

  2. 要访问容器 registry,请在服务器中复制有效的 pull secret 以供安装:

    1. 创建 .docker 文件夹:

      $ mkdir /root/.docker
    2. config.json 文件中有效的 pull 复制到之前创建的 .docker/ 文件夹:

      $ cp config.json /root/.docker/config.json 1
      1
      /root/.docker/config.json 是默认路径,podman 检查 registry 的登录凭证。
注意

如果使用其他 registry 来拉取所需的工件,则需要复制正确的 pull secret。如果本地 registry 使用 TLS,则需要也包含来自 registry 的证书。

14.4.3. 下载 OpenShift Container Platform 镜像

factory-precaching-cli 工具允许您预缓存置备特定 OpenShift Container Platform 发行版本所需的所有容器镜像。

流程

  • 运行以下命令预缓存发行版本:

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools -- \
       factory-precaching-cli download \ 1
       -r 4.16.0 \ 2
       --acm-version 2.6.3 \ 3
       --mce-version 2.1.4 \ 4
       -f /mnt \ 5
       --img quay.io/custom/repository 6
    1
    指定 factory-precaching-cli 工具的下载功能。
    2
    定义 OpenShift Container Platform 发行版本。
    3
    定义 RHACM 版本。
    4
    定义多集群引擎版本。
    5
    定义要在磁盘上下载镜像的文件夹。
    6
    可选。定义存储额外镜像的存储库。这些镜像在磁盘上下载并预缓存。

    输出示例

    Generated /mnt/imageset.yaml
    Generating list of pre-cached artifacts...
    Processing artifact [1/176]: ocp-v4.0-art-dev@sha256_6ac2b96bf4899c01a87366fd0feae9f57b1b61878e3b5823da0c3f34f707fbf5
    Processing artifact [2/176]: ocp-v4.0-art-dev@sha256_f48b68d5960ba903a0d018a10544ae08db5802e21c2fa5615a14fc58b1c1657c
    Processing artifact [3/176]: ocp-v4.0-art-dev@sha256_a480390e91b1c07e10091c3da2257180654f6b2a735a4ad4c3b69dbdb77bbc06
    Processing artifact [4/176]: ocp-v4.0-art-dev@sha256_ecc5d8dbd77e326dba6594ff8c2d091eefbc4d90c963a9a85b0b2f0e6155f995
    Processing artifact [5/176]: ocp-v4.0-art-dev@sha256_274b6d561558a2f54db08ea96df9892315bb773fc203b1dbcea418d20f4c7ad1
    Processing artifact [6/176]: ocp-v4.0-art-dev@sha256_e142bf5020f5ca0d1bdda0026bf97f89b72d21a97c9cc2dc71bf85050e822bbf
    ...
    Processing artifact [175/176]: ocp-v4.0-art-dev@sha256_16cd7eda26f0fb0fc965a589e1e96ff8577e560fcd14f06b5fda1643036ed6c8
    Processing artifact [176/176]: ocp-v4.0-art-dev@sha256_cf4d862b4a4170d4f611b39d06c31c97658e309724f9788e155999ae51e7188f
    ...
    Summary:
    
    Release:                            4.16.0
    Hub Version:                        2.6.3
    ACM Version:                        2.6.3
    MCE Version:                        2.1.4
    Include DU Profile:                 No
    Workers:                            83

验证

  • 检查所有镜像是否在服务器的目标文件夹中压缩:

    $ ls -l /mnt 1
    1
    建议您预缓存 /mnt 文件夹中的镜像。

    输出示例

    -rw-r--r--. 1 root root  136352323 Oct 31 15:19 ocp-v4.0-art-dev@sha256_edec37e7cd8b1611d0031d45e7958361c65e2005f145b471a8108f1b54316c07.tgz
    -rw-r--r--. 1 root root  156092894 Oct 31 15:33 ocp-v4.0-art-dev@sha256_ee51b062b9c3c9f4fe77bd5b3cc9a3b12355d040119a1434425a824f137c61a9.tgz
    -rw-r--r--. 1 root root  172297800 Oct 31 15:29 ocp-v4.0-art-dev@sha256_ef23d9057c367a36e4a5c4877d23ee097a731e1186ed28a26c8d21501cd82718.tgz
    -rw-r--r--. 1 root root  171539614 Oct 31 15:23 ocp-v4.0-art-dev@sha256_f0497bb63ef6834a619d4208be9da459510df697596b891c0c633da144dbb025.tgz
    -rw-r--r--. 1 root root  160399150 Oct 31 15:20 ocp-v4.0-art-dev@sha256_f0c339da117cde44c9aae8d0bd054bceb6f19fdb191928f6912a703182330ac2.tgz
    -rw-r--r--. 1 root root  175962005 Oct 31 15:17 ocp-v4.0-art-dev@sha256_f19dd2e80fb41ef31d62bb8c08b339c50d193fdb10fc39cc15b353cbbfeb9b24.tgz
    -rw-r--r--. 1 root root  174942008 Oct 31 15:33 ocp-v4.0-art-dev@sha256_f1dbb81fa1aa724e96dd2b296b855ff52a565fbef003d08030d63590ae6454df.tgz
    -rw-r--r--. 1 root root  246693315 Oct 31 15:31 ocp-v4.0-art-dev@sha256_f44dcf2c94e4fd843cbbf9b11128df2ba856cd813786e42e3da1fdfb0f6ddd01.tgz
    -rw-r--r--. 1 root root  170148293 Oct 31 15:00 ocp-v4.0-art-dev@sha256_f48b68d5960ba903a0d018a10544ae08db5802e21c2fa5615a14fc58b1c1657c.tgz
    -rw-r--r--. 1 root root  168899617 Oct 31 15:16 ocp-v4.0-art-dev@sha256_f5099b0989120a8d08a963601214b5c5cb23417a707a8624b7eb52ab788a7f75.tgz
    -rw-r--r--. 1 root root  176592362 Oct 31 15:05 ocp-v4.0-art-dev@sha256_f68c0e6f5e17b0b0f7ab2d4c39559ea89f900751e64b97cb42311a478338d9c3.tgz
    -rw-r--r--. 1 root root  157937478 Oct 31 15:37 ocp-v4.0-art-dev@sha256_f7ba33a6a9db9cfc4b0ab0f368569e19b9fa08f4c01a0d5f6a243d61ab781bd8.tgz
    -rw-r--r--. 1 root root  145535253 Oct 31 15:26 ocp-v4.0-art-dev@sha256_f8f098911d670287826e9499806553f7a1dd3e2b5332abbec740008c36e84de5.tgz
    -rw-r--r--. 1 root root  158048761 Oct 31 15:40 ocp-v4.0-art-dev@sha256_f914228ddbb99120986262168a705903a9f49724ffa958bb4bf12b2ec1d7fb47.tgz
    -rw-r--r--. 1 root root  167914526 Oct 31 15:37 ocp-v4.0-art-dev@sha256_fa3ca9401c7a9efda0502240aeb8d3ae2d239d38890454f17fe5158b62305010.tgz
    -rw-r--r--. 1 root root  164432422 Oct 31 15:24 ocp-v4.0-art-dev@sha256_fc4783b446c70df30b3120685254b40ce13ba6a2b0bf8fb1645f116cf6a392f1.tgz
    -rw-r--r--. 1 root root  306643814 Oct 31 15:11 troubleshoot@sha256_b86b8aea29a818a9c22944fd18243fa0347c7a2bf1ad8864113ff2bb2d8e0726.tgz

14.4.4. 下载 Operator 镜像

您还可以预缓存第 2 个 Operator,用于 5G Radio 访问网络 (RAN) 分布式单元 (DU) 集群配置。Day-2 Operator 依赖于已安装的 OpenShift Container Platform 版本。

重要

您需要使用 --acm-version--mce-version 标志包含 RHACM hub 和 multicluster engine Operator 版本,以便 factory-precaching-cli 工具可以预缓存 RHACM 和 multicluster engine Operator 的适当容器镜像。

流程

  • 预缓存 Operator 镜像:

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli download \ 1
       -r 4.16.0 \ 2
       --acm-version 2.6.3 \ 3
       --mce-version 2.1.4 \ 4
       -f /mnt \ 5
       --img quay.io/custom/repository 6
       --du-profile -s 7
    1
    指定 factory-precaching-cli 工具的下载功能。
    2
    定义 OpenShift Container Platform 发行版本。
    3
    定义 RHACM 版本。
    4
    定义多集群引擎版本。
    5
    定义要在磁盘上下载镜像的文件夹。
    6
    可选。定义存储额外镜像的存储库。这些镜像在磁盘上下载并预缓存。
    7
    指定 DU 配置中包含的 Operator 预缓存。

    输出示例

    Generated /mnt/imageset.yaml
    Generating list of pre-cached artifacts...
    Processing artifact [1/379]: ocp-v4.0-art-dev@sha256_7753a8d9dd5974be8c90649aadd7c914a3d8a1f1e016774c7ac7c9422e9f9958
    Processing artifact [2/379]: ose-kube-rbac-proxy@sha256_c27a7c01e5968aff16b6bb6670423f992d1a1de1a16e7e260d12908d3322431c
    Processing artifact [3/379]: ocp-v4.0-art-dev@sha256_370e47a14c798ca3f8707a38b28cfc28114f492bb35fe1112e55d1eb51022c99
    ...
    Processing artifact [378/379]: ose-local-storage-operator@sha256_0c81c2b79f79307305e51ce9d3837657cf9ba5866194e464b4d1b299f85034d0
    Processing artifact [379/379]: multicluster-operators-channel-rhel8@sha256_c10f6bbb84fe36e05816e873a72188018856ad6aac6cc16271a1b3966f73ceb3
    ...
    Summary:
    
    Release:                            4.16.0
    Hub Version:                        2.6.3
    ACM Version:                        2.6.3
    MCE Version:                        2.1.4
    Include DU Profile:                 Yes
    Workers:                            83

14.4.5. 在断开连接的环境中预缓存自定义镜像

在生成 ImageSetConfiguration 自定义资源 (CR) 后,-- generate-imageset 参数会停止 factory-precaching-cli 工具。这可让您在下载任何镜像前自定义 ImageSetConfiguration CR。自定义 CR 后,您可以使用 --skip-imageset 参数下载您在 ImageSetConfiguration CR 中指定的镜像。

您可以使用以下方法自定义 ImageSetConfiguration CR:

  • 添加 Operator 和其他镜像
  • 删除 Operator 和其他镜像
  • 将 Operator 和目录源改为本地或断开连接的 registry

流程

  1. 预缓存镜像:

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli download \ 1
       -r 4.16.0 \ 2
       --acm-version 2.6.3 \ 3
       --mce-version 2.1.4 \ 4
       -f /mnt \ 5
       --img quay.io/custom/repository 6
       --du-profile -s \ 7
       --generate-imageset 8
    1
    指定 factory-precaching-cli 工具的下载功能。
    2
    定义 OpenShift Container Platform 发行版本。
    3
    定义 RHACM 版本。
    4
    定义多集群引擎版本。
    5
    定义要在磁盘上下载镜像的文件夹。
    6
    可选。定义存储额外镜像的存储库。这些镜像在磁盘上下载并预缓存。
    7
    指定 DU 配置中包含的 Operator 预缓存。
    8
    --generate-imageset 参数只生成 ImageSetConfiguration CR,您可以对 CR 进行自定义。

    输出示例

    Generated /mnt/imageset.yaml

    ImageSetConfiguration CR 示例

    apiVersion: mirror.openshift.io/v1alpha2
    kind: ImageSetConfiguration
    mirror:
      platform:
        channels:
        - name: stable-4.16
          minVersion: 4.16.0 1
          maxVersion: 4.16.0
      additionalImages:
        - name: quay.io/custom/repository
      operators:
        - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.16
          packages:
            - name: advanced-cluster-management 2
              channels:
                 - name: 'release-2.6'
                   minVersion: 2.6.3
                   maxVersion: 2.6.3
            - name: multicluster-engine 3
              channels:
                 - name: 'stable-2.1'
                   minVersion: 2.1.4
                   maxVersion: 2.1.4
            - name: local-storage-operator 4
              channels:
                - name: 'stable'
            - name: ptp-operator 5
              channels:
                - name: 'stable'
            - name: sriov-network-operator 6
              channels:
                - name: 'stable'
            - name: cluster-logging 7
              channels:
                - name: 'stable'
            - name: lvms-operator 8
              channels:
                - name: 'stable-4.16'
            - name: amq7-interconnect-operator 9
              channels:
                - name: '1.10.x'
            - name: bare-metal-event-relay 10
              channels:
                - name: 'stable'
        - catalog: registry.redhat.io/redhat/certified-operator-index:v4.16
          packages:
            - name: sriov-fec 11
              channels:
                - name: 'stable'

    1
    平台版本与传递给工具的版本匹配。
    2 3
    RHACM 和多集群引擎 Operator 的版本与传递给工具的版本匹配。
    4 5 6 7 8 9 10 11
    CR 包含所有指定的 DU Operator。
  2. 在 CR 中自定义目录资源:

    apiVersion: mirror.openshift.io/v1alpha2
    kind: ImageSetConfiguration
    mirror:
      platform:
    [...]
      operators:
        - catalog: eko4.cloud.lab.eng.bos.redhat.com:8443/redhat/certified-operator-index:v4.16
          packages:
            - name: sriov-fec
              channels:
                - name: 'stable'

    当使用本地或断开连接的 registry 下载镜像时,您必须首先为您要从中拉取内容的 registry 添加证书。

  3. 要避免任何错误,请将 registry 证书复制到您的服务器中:

    # cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.
  4. 然后,更新证书信任存储:

    # update-ca-trust
  5. 将主机 /etc/pki 文件夹挂载到 factory-cli 镜像中:

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker -v /etc/pki:/etc/pki --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- \
    factory-precaching-cli download \ 1
       -r 4.16.0 \ 2
       --acm-version 2.6.3 \ 3
       --mce-version 2.1.4 \ 4
       -f /mnt \ 5
       --img quay.io/custom/repository 6
       --du-profile -s \ 7
       --skip-imageset 8
    1
    指定 factory-precaching-cli 工具的下载功能。
    2
    定义 OpenShift Container Platform 发行版本。
    3
    定义 RHACM 版本。
    4
    定义多集群引擎版本。
    5
    定义要在磁盘上下载镜像的文件夹。
    6
    可选。定义存储额外镜像的存储库。这些镜像在磁盘上下载并预缓存。
    7
    指定 DU 配置中包含的 Operator 预缓存。
    8
    通过 --skip-imageset 参数,您可以下载您在自定义 ImageSetConfiguration CR 中指定的镜像。
  6. 在不生成新的 imageSetConfiguration CR 的情况下下载镜像:

    # podman run -v /mnt:/mnt -v /root/.docker:/root/.docker --privileged --rm quay.io/openshift-kni/telco-ran-tools:latest -- factory-precaching-cli download -r 4.16.0 \
    --acm-version 2.6.3 --mce-version 2.1.4 -f /mnt \
    --img quay.io/custom/repository \
    --du-profile -s \
    --skip-imageset

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.