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 --help
14.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 在不生成新的
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
# 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