第2章 MTC リリースノート


2.1. Migration Toolkit for Containers 1.8 リリースノート

Migration Toolkit for Containers (MTC) リリースノートでは、新機能および拡張機能、非推奨となった機能、および既知の問題を説明しています。

MTC を使用すると、namespace の粒度で OpenShift Container Platform クラスター間でアプリケーションワークロードを移行できます。

MTC には、Web コンソールおよび API が同梱されており、Kubernetes カスタムリソースに基づいて移行を制御してアプリケーションのダウンタイムを最小限に抑えることができます。

MTC のサポートポリシーの詳細は、Red Hat OpenShift Container Platform ライフサイクルポリシー の一部である OpenShift Application and Cluster Migration Solutions を参照してください。

2.1.1. Migration Toolkit for Containers 1.8.5 リリースノート

2.1.1.1. 技術上の変更点

Migration Toolkit for Containers (MTC) 1.8.5 には、次の技術上の変更点があります。

FIPS (Federal Information Processing Standard)

FIPS は、Federal Information Security Management Act (FISMA) に従って米国連邦政府が開発した一連のコンピューターセキュリティー標準です。

バージョン 1.8.5 以降、MTC は FIPS 準拠して設計されています。

2.1.1.2. 解決した問題

詳細は、Jira の MTC 1.8.5 resolved issues のリストを参照してください。

2.1.1.3. 既知の問題

MTC 1.8.5 には次の既知の問題があります。

OpenShift Container Platform 4.12 のサービスアカウントに関連付けられた SCC を移行できない

OpenShift Container Platform 4.12 のサービスアカウントに関連付けられた Security Context Constraints (SCC) は移行できません。この問題は、MTC の今後のリリースで解決される予定です。(MIG-1454)

MTC がストレージクラスの変換時に statefulset.spec.volumeClaimTemplates[].spec.storageClassName にパッチを適用しない

StatefulSet アプリケーションのストレージクラスの変換を実行している間、MTC は、移行された PVC 名を使用するために .spec.volumeClaimTemplates[].metadata.name 内の永続ボリューム要求 (PVC) 参照を更新します。MTC が spec.volumeClaimTemplates[].spec.storageClassName を更新しないため、アプリケーションがスケールアップします。さらに、新しいレプリカが、移行されたストレージクラスではなく、古いストレージクラスで作成された PVC を使用します。(MIG-1660)

StorageClass 変換を実行すると、namespace 内のすべてのアプリケーションのスケールダウンがトリガーされる

複数のアプリケーションで StorageClass 変換を実行すると、MTC が、移行に関係のないアプリケーションも含め、カットオーバーフェーズのすべてのアプリケーションをスケールダウンします。(MIG-1661)

namespace の変更後、MigPlan を編集してターゲット namespace をソースクラスターと同じにすることができない

MTC UI で MigPlan を作成するときに、ターゲット namespace をソース namespace とは異なる namespace に変更した後、MigPlan を再度編集して、ターゲット namespace をソース namespace と同じにすることができません。(MIG-1600)

移行されたビルダー Pod がイメージレジストリーへのプッシュに失敗する

BuildConfig を含むアプリケーションをソースクラスターからターゲットクラスターに移行すると、ビルダー Pod でエラーが発生し、イメージをイメージレジストリーにプッシュできません。(BZ#2234781)

競合状態が表示後すぐにクリアされる

競合エラーが発生する新しい状態移行プランを作成すると、そのエラーが表示後すぐにクリアされます。(BZ#2144299)

pv_resizing_threshold を設定しても PvCapacityAdjustmentRequired 警告が表示されない

pv_resizing_threshold の調整後、移行計画に PvCapacityAdjustmentRequired 警告が表示されません。(BZ#2270160)

すべての既知の問題の完全なリストは、Jira の MTC 1.8.5 known issues のリストを参照してください。

2.1.2. Migration Toolkit for Containers 1.8.4 リリースノート

2.1.2.1. 技術上の変更点

Migration Toolkit for Containers (MTC) 1.8.4 には、次の技術状の変更点があります。

  • MTC 1.8.4 では依存関係の解決が拡張され、OpenShift API for Data Protection (OADP) 1.4 の使用がサポートされるようになりました。

DirectVolumeMigration による KubeVirt 仮想マシンのサポート

MTC 1.8.4 では、Direct Volume Migration (DVM) を備えた KubeVirt 仮想マシン (VM) のサポートが追加されました。

2.1.2.2. 解決した問題

MTC 1.8.4 では、次の主要な問題が解決されています。

OpenShift Virtualization がインストールされていると Ansible Operator が破損する

python3-openshift パッケージにはバグがあり、OpenShift Virtualization をインストールすると、タスク中に例外 ValueError: too many values to unpack が返されます。以前のバージョンの MTC は影響を受けますが、MTC 1.8.4 では回避策が実装されています。MTC 1.8.4 に更新すると、この問題の影響を受けなくなります。(OCPBUGS-38116)

移行計画の作成中に UI が namespace で停止する

MTC UI から移行計画を作成しようとすると、移行計画ウィザードが namespace ステップで停止します。この問題は MTC 1.8.4 で解決されました。(MIG-1597)

バージョン kubevirt/v1 の仮想マシンの種類に一致するものがないというエラーで移行が失敗する

アプリケーションの移行中に、バックアップ、DVM、復元などの必要なすべての手順が正常に完了します。ただし、移行は失敗としてマークされ、エラーメッセージ no matches for kind Virtual machine in version kubevirt/v1 が表示されます。(MIG-1594)

直接ボリューム移行は、ソース namespace とは異なる namespace に移行すると失敗します。

ソースクラスターからターゲットクラスターへの移行を実行するときに、ターゲット namespace がソース namespace と異なると、DVM は失敗します。(MIG-1592)

ダイレクトイメージ移行は migplan のラベルセレクターを尊重しない

Direct Image Migration (DIM) を使用する場合は、移行計画にラベルセレクターが設定されていても、DIM はそれを尊重せず、namespace 内のすべてのイメージストリームを移行しようとします。(MIG-1533)

2.1.2.3. 既知の問題

MTC 1.8.4 には次の既知の問題があります。

OpenShift Container Platform 4.12 のサービスアカウントに関連付けられた SCC を移行できない

OpenShift Container Platform 4.12 のサービスアカウントに関連付けられた Security Context Constraints (SCC) は移行できません。この問題は、MTC の今後のリリースで解決される予定です。(MIG-1454)

Rsync Pod の起動に失敗し、DVM フェーズが失敗する

権限の問題により Rsync Pod の起動に失敗したため、DVM フェーズは失敗します。

(BZ#2231403)

移行されたビルダー Pod がイメージレジストリーにプッシュできない

BuildConfig を含むアプリケーションをソースクラスターからターゲットクラスターに移行すると、ビルダー Pod でエラーが発生し、イメージをイメージレジストリーにプッシュできません。

(BZ#2234781)

競合状態は作成後すぐに解消される

競合エラーが発生する新しい状態移行プランを作成すると、そのエラーは表示された後すぐにクリアされます。

(BZ#2144299)

PvCapacityAdjustmentRequired Warning Not Displayed After Setting pv_resizing_threshold

pv_resizing_threshold が調整された後、移行計画に PvCapacityAdjustmentRequired 警告が表示されません。

(BZ#2270160)

2.1.3. Migration Toolkit for Containers 1.8.3 リリースノート

2.1.3.1. 技術上の変更点

Migration Toolkit for Containers (MTC) 1.8.3 には、次の技術状の変更点があります。

OADP 1.3 がサポートされるようになりました

MTC 1.8.3 では、MTC 1.8.z の依存関係として OpenShift API for Data Protection (OADP) のサポートが追加されました。

2.1.3.2. 解決した問題

MTC 1.8.3 では、次の主要な問題が解決されています。

CVE-2024-24786: Golang protobuf モジュールの不具合により、unmarshal 関数が無限ループに入ります

MTC の以前のリリースで、Golang の protobuf モジュールに脆弱性が発見されました。この脆弱性では、unmarshal 関数が、特定の無効な入力を処理する際に無限ループに入っていました。その結果、攻撃者が慎重に構築した無効な入力を提供することで、関数が無限ループに入っていました。

この更新により、unmarshal 関数は期待どおりに動作するようになりました。

詳細は、CVE-2024-24786 を参照してください。

CVE-2023-45857: Axios のクロスサイトリクエストフォージェリーの脆弱性

MTC の以前のリリースで、Axios 1.5.1 に脆弱性が発見されました。この脆弱性により、ホストに対するすべてのリクエストの HTTP ヘッダー X-XSRF-TOKEN で、cookie に保存されている機密の XSRF-TOKEN が誤って公開されていました。結果として、攻撃者が機密情報を閲覧できる状態になっていました。

詳細は、CVE-2023-45857 を参照してください。

ソースワークロードが休止していない場合、Restic バックアップが正常に動作しません

MTC の以前のリリースでは、ルートを使用してアプリケーションをデプロイするときに、一部のファイルが移行されませんでした。ソースワークロードの休止オプションがオフになっている場合、Restic バックアップは期待どおりに機能しませんでした。

この問題は MTC 1.8.3 で解決されました。

詳細は、BZ#2242064 を参照してください。

Velero でサポートされていない値のエラーにより、Migration Controller のインストールに失敗します

Velero でサポートされていない値のエラーにより、MigrationController のインストールに失敗していました。OADP 1.3.0 を OADP 1.3.1 に更新すると、この問題は解決されます。詳細は、BZ#2267018 を参照してください。

この問題は MTC 1.8.3 で解決されました。

解決されたすべての問題の完全なリストは、Jira の MTC 1.8.3 resolved issues のリストを参照してください。

2.1.3.3. 既知の問題

Migration Toolkit for Containers (MTC) 1.8.3 には、次の既知の問題があります。

OpenShift Virtualization がインストールされていると Ansible Operator が破損する

python3-openshift パッケージにはバグがあり、OpenShift Virtualization をインストールすると、タスク中に例外 ValueError: too many values to unpack が返されます。MTC 1.8.4 では回避策が実装されています。MTC 1.8.4 に更新すると、この問題の影響を受けなくなります。(OCPBUGS-38116)

OpenShift Container Platform 4.12 のサービスアカウントに関連付けられた SCC を移行できない

OpenShift Container Platform バージョン 4.12 のサービスアカウントに関連付けられた Security Context Constraints (SCC) は移行できません。この問題は、MTC の今後のリリースで解決される予定です。(MIG-1454)

すべての既知の問題の完全なリストは、Jira の MTC 1.8.3 known issues のリストを参照してください。

2.1.4. Migration Toolkit for Containers 1.8.2 リリースノート

2.1.4.1. 解決した問題

このリリースでは、次の主要な問題が解決されています。

カスタム CA レプリケーションリポジトリーの設定後にバックアップフェーズが失敗します

以前の Migration Toolkit for Containers (MTC) リリースでは、レプリケーションリポジトリーを編集し、カスタム CA 証明書を追加し、リポジトリーに正常に接続して移行をトリガーした後、バックアップフェーズ中にエラーが発生しました。

CVE-2023-26136: 4.1.3 より前の tough-cookie パッケージはプロトタイプ汚染に対して脆弱です

以前の (MTC) リリースでは、MTC で使用される tough-cookie パッケージの 4.1.3 より前のバージョンは、プロトタイプ汚染に対して脆弱でした。この脆弱性は、rejectPublicSuffixes の値が false に設定されている場合に CookieJar が cookie を適切に処理しないために発生しました。

詳細は、(CVE-2023-26136) を参照してください。

CVE-2022-25883 openshift-migration-ui-container: nodejs-semver: 正規表現によるサービス拒否

以前の (MTC) リリースでは、MTC で使用されている semver パッケージの 7.5.2 より前のバージョンは、信頼できないユーザーデータが範囲として指定された場合、関数 newRange からの Regular Expression Denial of Service (ReDoS) に対して脆弱でした。

詳細は、(CVE-2022-25883) を参照してください。

2.1.4.2. 既知の問題

MTC 1.8.2 には次の既知の問題があります。

OpenShift Virtualization がインストールされていると Ansible Operator が破損する

python3-openshift パッケージにはバグがあり、OpenShift Virtualization をインストールすると、タスク中に例外 ValueError: too many values to unpack が返されます。MTC 1.8.4 では回避策が実装されています。MTC 1.8.4 に更新すると、この問題の影響を受けなくなります。(OCPBUGS-38116)

2.1.5. Migration Toolkit for Containers 1.8.1 リリースノート

2.1.5.1. 解決した問題

Migration Toolkit for Containers (MTC) 1.8.1 では、次の主要な問題が解決されています。

CVE-2023-39325: golang: net/http、x/net/http2: ストリームの急速なリセットにより余計な作業が発生する可能性がある

MTC が使用する HTTP/2 プロトコルの多重化ストリームの処理に不具合が見つかりました。 クライアントは、新しい多重化ストリームの要求を繰り返し行い、すぐに RST_STREAM フレームを送信してそれをキャンセルする可能性があります。これにより、接続ごとのアクティブなストリームの最大数に関するサーバー側の制限を回避しながら、ストリームのセットアップと削除に関してサーバーに追加のワークロードが発生し、サーバーリソースの消費によるサービス拒否が発生します。(BZ#2245079)

この問題を解決するには、MTC 1.8.1 以降に更新することを推奨します。

詳細は、(CVE-2023-39325) および (CVE-2023-44487) を参照してください。

2.1.5.2. 既知の問題

Migration Toolkit for Containers (MTC) 1.8.1 には、次の既知の問題があります。

OpenShift Virtualization がインストールされていると Ansible Operator が破損する

OpenShift Virtualization をインストールすると、python3-openshift パッケージにバグが発生します。タスク中に例外 ValueError: too many values to unpack が返されます。MTC 1.8.4 では回避策が実装されています。MTC 1.8.4 に更新すると、この問題の影響を受けなくなります。(OCPBUGS-38116)

2.1.6. Migration Toolkit for Containers 1.8.0 リリースノート

2.1.6.1. 解決した問題

Migration Toolkit for Containers (MTC) 1.8.0 では、次の問題が解決されています。

間接的な移行がバックアップ段階で停止する

以前のリリースでは、InvalidImageName エラーが原因で、間接的な移行がバックアップ段階で停止していました。((BZ#2233097))

PodVolumeRestore は In Progress のままになり、移行が Stage Restore で停止する

以前のリリースでは、間接的な移行を実行すると、移行は Stage Restore ステップで停止し、podvolumerestore が完了するまで待機していました。((BZ#2233868))

移行されたアプリケーションが、ターゲットクラスターの内部レジストリーからイメージをプルできない

以前のリリースでは、アプリケーションをターゲットクラスターに移行する際に、移行されたアプリケーションが内部イメージレジストリーからイメージをプルできず、その結果 application failure が発生していました。((BZ#2233103))

認可の問題により Azure で移行が失敗する

以前のリリースでは、Azure クラスター上で Azure ストレージにバックアップする際に、Backup 段階で移行が失敗していました。((BZ#2238974))

2.1.6.2. 既知の問題

MTC 1.8.0 には次の既知の問題があります。

OpenShift Virtualization がインストールされていると Ansible Operator が破損する

python3-openshift パッケージには、OpenShift Virtualization をインストールすると発生するバグがあり、タスク中に例外 ValueError: too many values to unpack が返されます。MTC 1.8.4 では回避策が実装されています。MTC 1.8.4 に更新すると、この問題の影響を受けなくなります。(OCPBUGS-38116)

MTC 1.7.x から 1.8.x にアップグレードしても古い Restic Pod が削除されない

このリリースでは、MTC Operator を 1.7.x から 1.8.x にアップグレードする際に、古い Restic Pod は削除されません。そのため、アップグレードした後に Restic Pod とノードエージェント Pod の両方が namespace に表示されます。((BZ#2236829))

移行されたビルダー Pod がイメージレジストリーにプッシュできない

このリリースでは、BuildConfig を含むアプリケーションをソースクラスターからターゲットクラスターに移行すると、ビルダー Pod で error が発生し、イメージをイメージレジストリーにプッシュできません。((BZ#2234781))

[UI] CA バンドルファイルのフィールドが適切にクリアされない

このリリースでは、Require SSL verification を有効にし、MigStorage 内の MCG NooBaa バケットの CA バンドルファイルにコンテンツを追加すると、想定どおり接続が失敗します。しかし、CA バンドルのコンテンツを削除し、Require SSL verification をオフにしてこれらの変更を元に戻しても、接続は依然として失敗します。この問題は、リポジトリーを削除して再追加しなければ解決できません。((BZ#2240052))

カスタム CA レプリケーションリポジトリーの設定後にバックアップフェーズが失敗します

(MTC) では、レプリケーションリポジトリーを編集し、カスタム CA 証明書を追加し、リポジトリーに正常に接続して移行をトリガーした後、バックアップフェーズ中にエラーが発生しました。

この問題は MTC 1.8.2 で解決されています。

CVE-2023-26136: 4.1.3 より前の tough-cookie パッケージはプロトタイプ汚染に対して脆弱です

MTC で使用される tough-cookie パッケージの 4.1.3 より前のバージョンは、プロトタイプ汚染に対して脆弱です。この脆弱性は、rejectPublicSuffixes の値が false に設定されている場合に CookieJar が cookie を適切に処理しないために発生します。

この問題は MTC 1.8.2 で解決されています。

詳細は、(CVE-2023-26136) を参照してください。

CVE-2022-25883 openshift-migration-ui-container: nodejs-semver: 正規表現によるサービス拒否

以前の (MTC) リリースでは、MTC で使用されている semver パッケージの 7.5.2 より前のバージョンは、信頼できないユーザーデータが範囲として指定された場合、関数 newRange からの Regular Expression Denial of Service (ReDoS) に対して脆弱です。

この問題は MTC 1.8.2 で解決されています。

詳細は、(CVE-2022-25883) を参照してください。

2.1.6.3. 技術上の変更点

このリリースには、以下の技術上の変更点があります。

  • OpenShift Container Platform 3 から OpenShift Container Platform 4 への移行には、従来の Migration Toolkit for Containers Operator と Migration Toolkit for Containers 1.7.x が必要です。
  • MTC 1.7.x から MTC 1.8.x への移行はサポートされていません。
  • OpenShift Container Platform 4.9 以前から移行する場合は、MTC 1.7.x を使用する必要があります。

    • MTC 1.7.x は、移行前と移行後の両方で使用する必要があります。
  • Migration Toolkit for Containers (MTC) 1.8.x は、OpenShift Container Platform 4.10 以降から OpenShift Container Platform 4.10 以降への移行のみをサポートしています。移行に含まれるクラスターのバージョンが 4.10 以降のみの場合、1.7.x または 1.8.x のいずれかを使用できます。ただし、移行前と移行後の MTC 1.Y.z が同じである必要があります。

    • MTC 1.7.x から MTC 1.8.x への移行はサポートされていません。
    • MTC 1.8.x から MTC 1.7.x への移行はサポートされていません。
    • MTC 1.7.x から MTC 1.7.x への移行はサポートされています。
    • MTC 1.8.x から MTC 1.8.x への移行はサポートされています。
  • MTC 1.8.x は、デフォルトで OADP 1.2.x をインストールします。
  • MTC 1.7.x から MTC 1.8.0 にアップグレードするには、OADP チャネルを手動で 1.2 に変更する必要があります。これを行わないと、Operator のアップグレードは失敗します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.