12.4. 常见问题和关注
本节介绍在迁移过程中可能导致问题的常见问题。
12.4.1. 更新已弃用的内部镜像
如果应用程序使用 openshift
命名空间中的镜像,则目标集群中必须有所需的镜像版本。
如果 OpenShift Container Platform 4.7 中已弃用 OpenShift Container Platform 3 镜像,您可以使用 podman
手动更新镜像流标签。
先决条件
-
必须安装
podman
。 -
您必须以具有
cluster-admin
权限的用户身份登录。 -
如果您使用不安全的 registry,请将 registry 主机值添加到
/etc/container/registries.conf
的[registries.insecure]
部分,以确保Podman
不会遇到 TLS 验证错误。 - 内部 registry 必须在源和目标集群上公开。
流程
确保内部 registry 在 OpenShift Container Platform 3 和 4 集群中公开。
默认情况下,内部 registry 在 OpenShift Container Platform 4 中公开。
-
如果您使用不安全的 registry,请将 registry 主机值添加到
/etc/container/registries.conf
的[registries.insecure]
部分,以确保Podman
不会遇到 TLS 验证错误。 登录到 OpenShift Container Platform 3 registry:
$ podman login -u $(oc whoami) -p $(oc whoami -t) --tls-verify=false <registry_url>:<port>
登录到 OpenShift Container Platform 4 registry:
$ podman login -u $(oc whoami) -p $(oc whoami -t) --tls-verify=false <registry_url>:<port>
拉取 OpenShift Container Platform 3 镜像:
$ podman pull <registry_url>:<port>/openshift/<image>
为 OpenShift Container Platform 4 registry 标记 OpenShift Container Platform 3 镜像:
$ podman tag <registry_url>:<port>/openshift/<image> \ 1 <registry_url>:<port>/openshift/<image> 2
将镜像推送到 OpenShift Container Platform 4 registry:
$ podman push <registry_url>:<port>/openshift/<image> 1
- 1
- 指定 OpenShift Container Platform 4 集群。
验证镜像是否具有有效的镜像流:
$ oc get imagestream -n openshift | grep <image>
输出示例
NAME IMAGE REPOSITORY TAGS UPDATED my_image image-registry.openshift-image-registry.svc:5000/openshift/my_image latest 32 seconds ago