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
# taskset 0xffffffff podman run --rm quay.io/openshift-kni/telco-ran-tools:latest factory-precaching-cli download --help14.4.2. 准备下载 OpenShift Container Platform 镜像
					要下载 OpenShift Container Platform 容器镜像,您需要知道多集群引擎版本。当使用 --du-profile 标志时,您还需要指定在要置备单节点 OpenShift 的 hub 集群中运行的 Red Hat Advanced Cluster Management (RHACM) 版本。
				
先决条件
- 已安装 RHACM 和多集群引擎 Operator。
- 您对存储设备进行分区。
- 您有足够的空间用于分区设备上的镜像。
- 您已将裸机服务器连接到互联网。
- 具有有效的 pull secret。
流程
- 在 hub 集群中运行以下命令来检查 RHACM 版本和多集群引擎版本: - oc get csv -A | grep -i advanced-cluster-management - $ oc get csv -A | grep -i advanced-cluster-management- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - open-cluster-management advanced-cluster-management.v2.6.3 Advanced Cluster Management for Kubernetes 2.6.3 advanced-cluster-management.v2.6.3 Succeeded - open-cluster-management advanced-cluster-management.v2.6.3 Advanced Cluster Management for Kubernetes 2.6.3 advanced-cluster-management.v2.6.3 Succeeded- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - oc get csv -A | grep -i multicluster-engine - $ oc get csv -A | grep -i multicluster-engine- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - 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 - 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- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 要访问容器 registry,请在服务器中复制有效的 pull secret 以供安装: - 创建 - .docker文件夹:- mkdir /root/.docker - $ mkdir /root/.docker- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将 - config.json文件中有效的 pull 复制到之前创建的- .docker/文件夹:- cp config.json /root/.docker/config.json - $ cp config.json /root/.docker/config.json- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 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 发行版本所需的所有容器镜像。
流程
验证
- 检查所有镜像是否在服务器的目标文件夹中压缩: - ls -l /mnt - $ ls -l /mnt- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 建议您预缓存/mnt文件夹中的镜像。
 - 输出示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
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 镜像: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
14.4.5. 在断开连接的环境中预缓存自定义镜像
					在生成 ImageSetConfiguration 自定义资源 (CR) 后,-- generate-imageset 参数会停止 factory-precaching-cli 工具。这可让您在下载任何镜像前自定义 ImageSetConfiguration CR。自定义 CR 后,您可以使用 --skip-imageset 参数下载您在 ImageSetConfiguration CR 中指定的镜像。
				
					您可以使用以下方法自定义 ImageSetConfiguration CR:
				
- 添加 Operator 和其他镜像
- 删除 Operator 和其他镜像
- 将 Operator 和目录源改为本地或断开连接的 registry
流程
- 预缓存镜像: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - Generated /mnt/imageset.yaml - Generated /mnt/imageset.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ImageSetConfiguration CR 示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在 CR 中自定义目录资源: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 当使用本地或断开连接的 registry 下载镜像时,您必须首先为您要从中拉取内容的 registry 添加证书。 
- 要避免任何错误,请将 registry 证书复制到您的服务器中: - cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/. - # cp /tmp/eko4-ca.crt /etc/pki/ca-trust/source/anchors/.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 然后,更新证书信任存储: - update-ca-trust - # update-ca-trust- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将主机 - /etc/pki文件夹挂载到 factory-cli 镜像中:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在不生成新的 - imageSetConfigurationCR 的情况下下载镜像:- 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 - # 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- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow