11.4. 一般的な問題および懸念事項

このセクションでは、移行時の問題を引き起こす可能性のある懸念事項および一般的な問題について説明します。

11.4.1. 非推奨の内部イメージの更新

アプリケーションが openshift namespace のイメージを使用する場合、イメージの必要なバージョンがターゲットクラスターに存在する必要があります。

OpenShift Container Platform 3 イメージが OpenShift Container Platform 4.8 で非推奨になる場合、podman を使用してイメージストリームタグを手動で更新できます。

前提条件

  • podman がインストールされている必要があります。
  • cluster-admin 権限を持つユーザーとしてログインしている必要があります。
  • 非セキュアなレジストリーを使用している場合、レジストリーホスト値を /etc/container/registries.conf[registries.insecure] セクションの追加し、podman で TLS 検証エラーが生じないようにします。
  • ソースおよびターゲットクラスターで内部レジストリーを公開する必要があります。

手順

  1. 内部レジストリーが OpenShift Container Platform 3 および 4 クラスターで公開されていることを確認します。

    内部レジストリーは、デフォルトでは OpenShift Container Platform 4 で公開されます。

  2. 非セキュアなレジストリーを使用している場合、レジストリーホスト値を /etc/container/registries.conf[registries.insecure] セクションの追加し、podman で TLS 検証エラーが生じないようにします。
  3. OpenShift Container Platform 3 レジストリーにログインします。

    $ podman login -u $(oc whoami) -p $(oc whoami -t) --tls-verify=false <registry_url>:<port>
  4. OpenShift Container Platform 4 レジストリーログインします。

    $ podman login -u $(oc whoami) -p $(oc whoami -t) --tls-verify=false <registry_url>:<port>
  5. OpenShift Container Platform 3 イメージをプルします。

    $ podman pull <registry_url>:<port>/openshift/<image>
  6. OpenShift Container Platform 4 レジストリー向けに OpenShift Container Platform 3 イメージにタグを付けます。

    $ podman tag <registry_url>:<port>/openshift/<image> \ 1
      <registry_url>:<port>/openshift/<image> 2
    1
    OpenShift Container Platform 3 クラスターのレジストリー URL およびポートを指定します。
    2
    OpenShift Container Platform 4 クラスターのレジストリー URL およびポートを指定します。
  7. イメージを OpenShift Container Platform 4 レジストリーにプッシュします。

    $ podman push <registry_url>:<port>/openshift/<image> 1
    1
    OpenShift Container Platform 4 クラスターを指定します。
  8. イメージに有効なイメージストリームがあることを確認します。

    $ 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