1.7.4. 非推奨の API の更新


ソースクラスターが非推奨の API を使用する場合、MTC (Migration Toolkit for Containers) Web コンソールで移行計画を作成する際に以下の警告メッセージが表示されます。

Some namespaces contain GVKs incompatible with destination cluster

See details をクリックして namespace および互換性のない API を表示します。この警告メッセージは移行をブロックしません。

MTC (Migration Toolkit for Containers) を使用した移行時に、非推奨の API は Kubernetes オブジェクトの Velero バックアップ #1 に保存されます。Velero バックアップをダウンロードし、非推奨の API yaml ファイルを展開し、それらを oc convert コマンドで更新できます。次に、ターゲットクラスターで更新された API を作成できます。

手順

  1. 移行計画を実行します。
  2. MigPlan カスタムリソース (CR) を表示します:

    $ oc describe migplan <migplan_name> -n openshift-migration 
    1
    1
    MigPlan CR の名前を指定します。

    出力は以下の例のようになります。

    metadata:
      ...
      uid: 79509e05-61d6-11e9-bc55-02ce4781844a 
    1
    
    status:
      ...
      conditions:
      - category: Warn
        lastTransitionTime: 2020-04-30T17:16:23Z
        message: 'Some namespaces contain GVKs incompatible with destination cluster.
          See: `incompatibleNamespaces` for details'
        status: "True"
        type: GVKsIncompatible
      incompatibleNamespaces:
      - gvks: 
    2
    
        - group: batch
          kind: cronjobs
          version: v2alpha1
        - group: batch
          kind: scheduledjobs
          version: v2alpha1
    1
    MigPlan CR UID を記録します。
    2
    gvks セクションに一覧表示された非推奨の API を記録します。
  3. MigPlan UID に関連付けられた MigMigration 名を取得します。

    $ oc get migmigration -o json | jq -r '.items[] | select(.metadata.ownerReferences[].uid=="<migplan_uid>") | .metadata.name' 
    1
    1
    MigPlan CR UID を指定します。
  4. MigMigration 名に関連付けられた MigMigration UID を取得します。

    $ oc get migmigration <migmigration_name> -o jsonpath='{.metadata.uid}' 
    1
    1
    MigMigration 名を指定します。
  5. MigMigration UID に関連付けられた Velero バックアップ名を取得します。

    $ oc get backup.velero.io --selector migration-initial-backup="<migmigration_uid>" -o jsonpath={.items[*].metadata.name} 
    1
    1
    MigMigration UID を指定します。
  6. ストレージプロバイダーのコマンドを実行して、Velero バックアップの内容をローカルマシンにダウンロードします。

    • AWS S3:

      $ aws s3 cp s3://<bucket_name>/velero/backups/<backup_name> <backup_local_dir> --recursive 
      1
      1
      バケット、バックアップ名、およびローカルバックアップのディレクトリー名を指定します。
    • GCP

      $ gsutil cp gs://<bucket_name>/velero/backups/<backup_name> <backup_local_dir> --recursive 
      1
      1
      バケット、バックアップ名、およびローカルバックアップのディレクトリー名を指定します。
    • Azure:

      $ azcopy copy 'https://velerobackups.blob.core.windows.net/velero/backups/<backup_name>' '<backup_local_dir>' --recursive 
      1
      1
      バックアップ名とローカルバックアップのディレクトリー名を指定します。
  7. Velero バックアップアーカイブファイルを展開します。

    $ tar -xfv <backup_local_dir>/<backup_name>.tar.gz -C <backup_local_dir>
  8. 非推奨のそれぞれの API でオフラインモードで oc convert を実行します。

    $ oc convert -f <backup_local_dir>/resources/<gvk>.json
  9. ターゲットクラスターで変換された API を作成します。

    $ oc create -f <gvk>.json
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る