将插件 cpd-cli 的动态图像移动到私有容器注册表
升级至 IBM Software Hub 版本 5.1 ,在 4.8 版本达到支持 IBM Cloud Pak for Data 终止前完成升级。 有关更多信息,请参阅从 IBM Cloud Pak for Data 版本 4.8 升级到 IBM 的说明: Software Hub 版本 5.1。
若干 cpd-cli 插件使用了图像。 如果您的集群从私有容器注册表拉取镜像,或者您的集群位于受限网络中,您可以将镜像推送到私有容器注册表,以便用户能够在集群上运行相关 cpd-cli 命令。
- 谁需要完成这项任务?
- 具有向私有容器注册表推送图像权限的用户必须完成此任务。
- 你需要在什么时候完成这项任务?
- 如果您的集群位于受限网络中,或者您的安全策略要求所有镜像都必须从私有容器注册表中拉取,请完成此任务。
如果您的工作站能够同时连接到公共互联网和集群,则可以跳过此任务。
哪些 cpd-cli 插件需要图片?
cpd-cli 插件所需的图像:| 插件 | 用途 | 所需图片 |
|---|---|---|
config |
使用此插件创建本地用户配置和配置文件,以便您能够 cpd-cli 对实例执行命令 Cloud Pak for Data。 |
此插件无需任何图片。 |
cpdbr |
使用此插件来备份和还原 Cloud Pak for Data 卷。 | 此插件需要以下图像:
|
cpdbr-oadp |
使用此插件备份和还原 Cloud Pak for Data 部署,包括卷。 | 此插件使用了多张图片。 您所需的图像取决于以下因素:
|
cpdctl |
使用此插件可自动化处理跨多个 Cloud Pak for Data 集群的不同类型工作区和资产上的操作。 |
此插件无需任何图片。 |
cpdtool |
使用此插件导出和导入数据,包括元数据。 |
此插件需要以下图像:
|
health |
Query the health of your Red Hat OpenShift cluster and the Cloud Pak for Data platform. | 此插件需要以下图像:
|
manage |
使用此插件进行安装和升级 Cloud Pak for Data |
此插件需要以下图像:
|
platform-diag |
使用此插件收集有关部署 Cloud Pak for Data 的诊断信息。 |
此插件无需任何图片。 |
platform-mgmt |
使用此插件管理与部署 Cloud Pak for Data 相关的服务实例和用户。 |
此插件无需任何图片。 |
开始之前
在将图像移至私有容器注册表之前,请完成以下任务:
将 ubi-minimal 镜像推送到私有容器注册表
您需要完成的步骤取决于工作站是否能够同时连接互联网和私有容器注册表:
该工作站可连接互联网及私有容器注册表
- 确保 或 在 DockerPodman 工作站上运行。
- 登录到私有容器注册表:
- Podman
podman login ${PRIVATE_REGISTRY_LOCATION} \ -u ${PRIVATE_REGISTRY_PUSH_USER} \ -p ${PRIVATE_REGISTRY_PUSH_PASSWORD}- Docker
docker login ${PRIVATE_REGISTRY_LOCATION} \ -u ${PRIVATE_REGISTRY_PUSH_USER} \ -p ${PRIVATE_REGISTRY_PUSH_PASSWORD}
- 登录到授权 Red Hat 注册表。
- 将
REDHAT_USER环境变量设置为能够从拉取镜像registry.redhat.io的用户名:export REDHAT_USER=<enter-your-username> - 将
REDHAT_PASSWORD环境变量设置为指定用户的密码:export REDHAT_PASSWORD=<enter-your-password> - 登录到
registry.redhat.io:- Podman
podman login registry.redhat.io \ -u ${REDHAT_USER} \ -p ${REDHAT_PASSWORD}- Docker
docker login registry.redhat.io \ -u ${REDHAT_USER} \ -p ${REDHAT_PASSWORD}
- 将
- 运行以下命令将镜像镜像
ubi-minimal到私有容器注册表。所有集群硬件架构均采用相同的映像:
版本 4.8.0 - 4.8.3
oc image mirror registry.redhat.io/ubi8/ubi-minimal:latest ${PRIVATE_REGISTRY_LOCATION}/ubi8/ubi-minimal:latest --insecure
4.8.4 及更高版本
oc image mirror registry.redhat.io/ubi9/ubi-minimal:latest ${PRIVATE_REGISTRY_LOCATION}//ubi9/ubi-minimal:latest --insecure
该工作站无法同时连接到私有容器注册表
- 从可连接互联网的工作站:
- 确保 或 在 DockerPodman 工作站上运行。
- 确保图像
olm-utils-v2在客户端工作站上可用:cpd-cli manage restart-container - 登录到授权 Red Hat 注册表。
- 将
REDHAT_USER环境变量设置为能够从拉取镜像registry.redhat.io的用户名:export REDHAT_USER=<enter-your-username> - 将
REDHAT_PASSWORD环境变量设置为指定用户的密码:export REDHAT_PASSWORD=<enter-your-password> - 登录到
registry.redhat.io:- Podman
podman login registry.redhat.io \ -u ${REDHAT_USER} \ -p ${REDHAT_PASSWORD}- Docker
docker login registry.redhat.io \ -u ${REDHAT_USER} \ -p ${REDHAT_PASSWORD}
- 将
- 运行以下命令将映像
ubi-minimal保存到客户端工作站:所有集群硬件架构均采用相同的映像:
版本 4.8.0 - 4.8.3
cpd-cli manage save-image \ --from=registry.redhat.io/ubi8/ubi-minimal:latest
4.8.4 及更高版本
cpd-cli manage save-image \ --from=registry.redhat.io/ubi9/ubi-minimal:latest
- 将压缩文件传输到能够连接集群的客户端工作站。
请确保将 或
ubi8_registry.redhat.io_ubi8_ubi-minimal_latest.tar.gzubi9_registry.redhat.io_ubi9_ubi-minimal_latest.tar.gzTAR 文件放置在 目录work/offline中。 - 从可连接到集群的工作站:
- 确保 或 在 DockerPodman 工作站上运行。
- 登录到私有容器注册表。
以下命令假设您正在使用通过凭据保护的私有容器注册表:
cpd-cli manage login-private-registry ${PRIVATE_REGISTRY_LOCATION} \ ${PRIVATE_REGISTRY_PUSH_USER} \ ${PRIVATE_REGISTRY_PUSH_PASSWORD}如果您的私有注册表未受保护,请省略用户名和密码。
- 运行以下命令将
ubi-minimal镜像复制到私有容器注册表:
版本 4.8.0 - 4.8.3
cpd-cli manage copy-image \ --from=registry.redhat.io/ubi8/ubi-minimal:latest \ --to=${PRIVATE_REGISTRY_LOCATION}/ubi8/ubi-minimal:latest
4.8.4 及更高版本
cpd-cli manage copy-image \ --from=registry.redhat.io/ubi9/ubi-minimal:latest \ --to=${PRIVATE_REGISTRY_LOCATION}/ubi9/ubi-minimal:latest
将 storage-performance 命令所需的镜像推送到私有容器注册表
cpd-cli
health
storage-performance 命令,必须将以下镜像镜像到私有容器注册表:k8s-storage-perfxsysbench
您需要完成的步骤取决于工作站是否能够同时连接互联网和私有容器注册表:
该工作站可连接互联网及私有容器注册表
- 确保 或 在 DockerPodman 工作站上运行。
- 确保图像
olm-utils-v2在客户端工作站上可用:cpd-cli manage restart-container - 登录到私有容器注册表。
以下命令假设您正在使用通过凭据保护的私有容器注册表:
cpd-cli manage login-private-registry ${PRIVATE_REGISTRY_LOCATION} \ ${PRIVATE_REGISTRY_PUSH_USER} \ ${PRIVATE_REGISTRY_PUSH_PASSWORD}如果您的私有注册表未受保护,请省略用户名和密码。
- 登录到名为 IBM Entitled Registry 的注册表:
cpd-cli manage login-entitled-registry \ ${IBM_ENTITLEMENT_KEY} - 运行以下命令将所需镜像镜像到私有容器注册表:
- 镜像图像
k8s-storage-perf:cpd-cli manage copy-image \ --from=icr.io/cpopen/cpd/k8s-storage-perf:v1.0.0 \ --to=${PRIVATE_REGISTRY_LOCATION}/cpopen/cpd/k8s-storage-perf:v1.0.0 - 镜像图像
xsysbench:cpd-cli manage copy-image \ --from=quay.io/ibm-cp4d-public/xsysbench:1.1-amd64 \ --to=${PRIVATE_REGISTRY_LOCATION}/ibm-cp4d-public/xsysbench:1.1-amd64
- 镜像图像
该工作站无法同时连接到私有容器注册表
- 从可连接互联网的工作站:
- 确保 或 在 DockerPodman 工作站上运行。
- 确保图像
olm-utils-v2在客户端工作站上可用:cpd-cli manage restart-container - 运行以下命令将所需图像保存到客户端工作站:
- 保存图片
k8s-storage-perf:cpd-cli manage save-image \ --from=icr.io/cpopen/cpd/k8s-storage-perf:v1.0.0 - 保存图片
xsysbench:cpd-cli manage copy-image \ --from=quay.io/ibm-cp4d-public/xsysbench:1.1-amd64 \ --to=${PRIVATE_REGISTRY_LOCATION}/ibm-cp4d-public/xsysbench:1.1-amd64
- 保存图片
- 将压缩文件传输到能够连接集群的客户端工作站。
请确保将 TAR 文件放置在目录
work/offline中:icr.io_cpopen_cpd_k8s-storage-perf_v1.0.0.tar.gzquay.io_ibm-cp4d-public_xsysbench_1.1-amd64.tar.gz
- 从可连接到集群的工作站:
- 确保 或 在 DockerPodman 工作站上运行。
- 登录到私有容器注册表。
以下命令假设您正在使用通过凭据保护的私有容器注册表:
cpd-cli manage login-private-registry ${PRIVATE_REGISTRY_LOCATION} \ ${PRIVATE_REGISTRY_PUSH_USER} \ ${PRIVATE_REGISTRY_PUSH_PASSWORD}如果您的私有注册表未受保护,请省略用户名和密码。
- 运行以下命令将所需镜像复制到私有容器注册表:
- 复制图像
k8s-storage-perf:cpd-cli manage copy-image \ --from=icr.io/cpopen/cpd/k8s-storage-perf:v1.0.0 \ --to=${PRIVATE_REGISTRY_LOCATION}/cpopen/cpd/k8s-storage-perf:v1.0.0 - 复制图像
xsysbench:cpd-cli manage copy-image \ --from=quay.io/ibm-cp4d-public/xsysbench:1.1-amd64 \ --to=${PRIVATE_REGISTRY_LOCATION}/ibm-cp4d-public/xsysbench:1.1-amd64
- 复制图像
将 storage-validation 命令所需的镜像推送到私有容器注册表
若计划使用该 cpd-cli
health
storage-validation 命令,必须将以下镜像镜像到私有容器注册表:
centosk8s-storage-teststorage-gccstorage-util
您需要完成的步骤取决于工作站是否能够同时连接互联网和私有容器注册表:
该工作站可连接互联网及私有容器注册表
- 确保 或 在 DockerPodman 工作站上运行。
- 确保图像
olm-utils-v2在客户端工作站上可用:cpd-cli manage restart-container - 登录到私有容器注册表。
以下命令假设您正在使用通过凭据保护的私有容器注册表:
cpd-cli manage login-private-registry ${PRIVATE_REGISTRY_LOCATION} \ ${PRIVATE_REGISTRY_PUSH_USER} \ ${PRIVATE_REGISTRY_PUSH_PASSWORD}如果您的私有注册表未受保护,请省略用户名和密码。
- 登录到名为 IBM Entitled Registry 的注册表:
cpd-cli manage login-entitled-registry \ ${IBM_ENTITLEMENT_KEY} - 运行以下命令将所需镜像镜像到私有容器注册表:
- 镜像图像
centos:cpd-cli manage copy-image \ --from=quay.io/centos/amd64:latest \ --to=${PRIVATE_REGISTRY_LOCATION}/centos/amd64:latest - 镜像图像
k8s-storage-test:cpd-cli manage copy-image \ --from=icr.io/cpopen/cpd/k8s-storage-test:v1.0.0 \ --to=${PRIVATE_REGISTRY_LOCATION}/cpopen/cpd/k8s-storage-test:v1.0.0 - 镜像图像
storage-gcc:cpd-cli manage copy-image \ --from=quay.io/ibm-cp4d-public/storage-gcc:1.0-amd64 \ --to=${PRIVATE_REGISTRY_LOCATION}/ibm-cp4d-public/storage-gcc:1.0-amd64 - 镜像图像
storage-util:cpd-cli manage copy-image \ --from=quay.io/ibm-cp4d-public/storage-util:1.0-amd64 \ --to=${PRIVATE_REGISTRY_LOCATION}/ibm-cp4d-public/storage-util:1.0-amd64
- 镜像图像
该工作站无法同时连接到私有容器注册表
- 从可连接互联网的工作站:
- 确保 或 在 DockerPodman 工作站上运行。
- 确保图像
olm-utils-v2在客户端工作站上可用:cpd-cli manage restart-container - 运行以下命令将所需图像保存到客户端工作站:
- 保存图片
centos:cpd-cli manage save-image \ --from=quay.io/centos/amd64:latest - 保存图片
k8s-storage-test:cpd-cli manage save-image \ --from=icr.io/cpopen/cpd/k8s-storage-test:v1.0.0 - 保存图片
storage-gcc:cpd-cli manage save-image \ --from=quay.io/ibm-cp4d-public/storage-gcc:1.0-amd64 - 保存图片
storage-util:cpd-cli manage save-image \ --from=quay.io/ibm-cp4d-public/storage-util:1.0-amd64
- 保存图片
- 将压缩文件传输到能够连接集群的客户端工作站。
请确保将 TAR 文件放置在目录
work/offline中:icr.io_cpopen_cpd_k8s-storage-test_v1.0.0.tar.gzquay.io_centos_amd64_latest.tar.gzquay.io_ibm-cp4d-public_storage-gcc_1.0-amd64.tar.gzquay.io_ibm-cp4d-public_storage-util_1.0-amd64.tar.gz
- 从可连接到集群的工作站:
- 确保 或 在 DockerPodman 工作站上运行。
- 登录到私有容器注册表。
以下命令假设您正在使用通过凭据保护的私有容器注册表:
cpd-cli manage login-private-registry ${PRIVATE_REGISTRY_LOCATION} \ ${PRIVATE_REGISTRY_PUSH_USER} \ ${PRIVATE_REGISTRY_PUSH_PASSWORD}如果您的私有注册表未受保护,请省略用户名和密码。
- 运行以下命令将所需镜像复制到私有容器注册表:
- 复制图像
centos:cpd-cli manage copy-image \ --from=quay.io/centos/amd64:latest \ --to=${PRIVATE_REGISTRY_LOCATION}/centos/amd64:latest - 复制图像
k8s-storage-test:cpd-cli manage copy-image \ --from=icr.io/cpopen/cpd/k8s-storage-test:v1.0.0 \ --to=${PRIVATE_REGISTRY_LOCATION}/cpopen/cpd/k8s-storage-test:v1.0.0 - 复制图像
storage-gcc:cpd-cli manage copy-image \ --from=quay.io/ibm-cp4d-public/storage-gcc:1.0-amd64 \ --to=${PRIVATE_REGISTRY_LOCATION}/ibm-cp4d-public/storage-gcc:1.0-amd64 - 复制图像
storage-util:cpd-cli manage copy-image \ --from=quay.io/ibm-cp4d-public/storage-util:1.0-amd64 \ --to=${PRIVATE_REGISTRY_LOCATION}/ibm-cp4d-public/storage-util:1.0-amd64
- 复制图像
下一步操作
在镜像被镜像或推送到私有容器注册表后,用户必须确保插件 cpd-cli 使用来自私有容器注册表的镜像。
| 插件 | 如何使用私有容器注册表中的镜像 |
|---|---|
config |
不适用。 此插件无需任何图片。 |
cpdbr |
需要对 cpd-cli
backup-restore 集群执行命令的用户,在运行命令 cpd-cli
backup-restore
init 时必须指定该 --image-prefix=${PRIVATE_REGISTRY_LOCATION} 选项。 |
cpdbr-oadp |
需要 cpd-cli
oadp 对集群执行命令的用户,在运行某些 cpd-cli
oadp 命令时必须指定该 --image-prefix=${PRIVATE_REGISTRY_LOCATION} 选项。 |
cpdctl |
不适用。 此插件无需任何图片。 |
cpdtool |
需要对 cpd-cli
export-import 集群执行命令的用户,在运行命令 cpd-cli
export-import
init 时必须指定该 --image-prefix=${PRIVATE_REGISTRY_LOCATION} 选项。 |
health |
后续步骤取决于您想要执行的命令:
|
manage |
后续步骤取决于您想要执行的命令:
|
platform-diag |
不适用。 此插件无需任何图片。 |
platform-mgmt |
不适用。 此插件无需任何图片。 |