2.4. CAM Web コンソールを使用したアプリケーションの移行

2.4.1. CAM Web コンソールの起動

ブラウザーで CAM Web コンソールを起動できます。

手順

  1. CAM ツールがインストールされている OpenShift Container Platform クラスターにログインします。
  2. 以下のコマンドを入力して CAM Web コンソール URL を取得します。

    $ oc get -n openshift-migration route/migration -o go-template='https://{{ .spec.host }}'
    https://migration-openshift-migration.apps.<cluster>.openshift.com
  3. ブラウザーを起動し、CAM Web コンソールに移動します。

    注記

    Cluster Application Migration Operator のインストール後すぐに CAM Web コンソールにアクセスしようとする場合、Operator は依然としてクラスターを設定し、クロスオリジンリソース共有を有効にしているため、コンソールが読み込まれないことがあります。数分待機した後に再試行します。

  4. 自己署名 CA 証明書を使用している場合、ソースクラスターの API サーバーの CA 証明書を受け入れることを求めるプロンプトが出されます。Web ページは、残りの証明書を受け入れるプロセスについて説明します。
  5. OpenShift Container Platform の ユーザー名 および パスワード を使用してログインします。

2.4.2. CAM Web コンソールへのクラスターの追加

ソースクラスターを CAM Web コンソールに追加できます。

前提条件

  • クロスオリジンリソース共有がソースクラスターで設定されている必要があります。
  • Azure スナップショットを使用してデータをコピーする場合:

    • ソースクラスターの追加時に Azure リソースグループ名を指定する必要があります。
    • ソースおよびターゲットクラスターは同じ Azure リソースグループにあり、同じ場所にある必要があります。

手順

  1. ソースクラスターにログインします。
  2. サービスアカウントトークンを取得します。

    $ oc sa get-token mig -n openshift-migration
    eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtaWciLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoibWlnLXRva2VuLWs4dDJyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6Im1pZyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImE1YjFiYWMwLWMxYmYtMTFlOS05Y2NiLTAyOWRmODYwYjMwOCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDptaWc6bWlnIn0.xqeeAINK7UXpdRqAtOj70qhBJPeMwmgLomV9iFxr5RoqUgKchZRG2J2rkqmPm6vr7K-cm7ibD1IBpdQJCcVDuoHYsFgV4mp9vgOfn9osSDp2TGikwNz4Az95e81xnjVUmzh-NjDsEpw71DH92iHV_xt2sTwtzftS49LpPW2LjrV0evtNBP_t_RfskdArt5VSv25eORl7zScqfe1CiMkcVbf2UqACQjo3LbkpfN26HAioO2oH0ECPiRzT0Xyh-KwFutJLS9Xgghyw-LD9kPKcE_xbbJ9Y4Rqajh7WdPYuB0Jd9DPVrslmzK-F6cgHHYoZEv0SvLQi-PO0rpDrcjOEQQ
  3. CAM Web コンソールにログインします。
  4. Clusters セクションで、Add cluster をクリックします。
  5. 以下のフィールドに値を入力します。

    • Cluster name: 小文字 (a-z) および数字 (0-9) を含めることができます。空白文字や国際文字を含めることはできません。
    • Url: クラスターの API サーバーの URLです (例: https://<master1.example.com>:8443)。
    • Service account token: ソースクラスターから取得される文字列。
    • Azure cluster: オプション。 Azure スナップショットを使用してデータをコピーする場合はこれを選択します。
    • Azure resource group: このフィールドは、Azure cluster にチェックを付けると表示されます。
  6. Add cluster をクリックします。

    クラスターが Clusters セクションに表示されます。

2.4.3. CAM Web コンソールへのレプリケーションリポジトリーの追加

CAM Web コンソールには、オブジェクトストレージバケットをレプリケーションリポジトリーとして追加できます。

前提条件

  • データを移行するには、オブジェクトストレージバケットを設定する必要があります。

手順

  1. CAM Web コンソールにログインします。
  2. Replication repositories セクションで、Add repository をクリックします。
  3. Storage provider type を選択し、以下のフィールドに入力します。

    • AWS (AWS S3、MCG、および汎用 S3 プロバイダーの場合):

      • Replication repository name: CAM Web コンソールでレプリケーションリポジトリー名を指定します。
      • S3 bucket name: 作成した S3 バケットの名前を指定します。
      • S3 bucket region: S3 バケットリージョンを指定します。AWS S3 の場合に必須です。Optional (他の S3 プロバイダーの場合)。
      • S3 endpoint: バケットではなく S3 サービスの URL を指定します (例: https://<s3-storage.apps.cluster.com>)。汎用 S3 プロバイダーの場合は必須です。https:// プレフィックスを使用する必要があります。
      • S3 provider access key: AWS には <AWS_SECRET_ACCESS_KEY> を指定するか、または MCG には S3 プロバイダーアクセスキーを指定します。
      • S3 provider secret access key: AWS には <AWS_ACCESS_KEY_ID> を指定するか、または MCG には S3 プロバイダーシークレットアクセスキーを指定します。
      • Require SSL verification: 汎用 S3 プロバイダーを使用している場合は、このチェックボックスをクリアします。
    • GCP:

      • Replication repository name: CAM Web コンソールでレプリケーションリポジトリー名を指定します。
      • GCP bucket name: GCP バケットの名前を指定します。
      • GCP credential JSON blob: credentials-velero ファイルに文字列を指定します。
    • Azure:

      • Replication repository name: CAM Web コンソールでレプリケーションリポジトリー名を指定します。
      • Azure resource group: Azure Blob ストレージのリソースグループを指定します。
      • Azure storage account name: Azure Blob ストレージアカウント名を指定します。
      • Azure credentials - INI file contents: credentials-velero ファイルに文字列を指定します。
  4. Add repository をクリックし、接続の検証を待機します。
  5. Close をクリックします。

    新規リポジトリーが Replication repositories セクションに表示されます。

2.4.4. 大規模な移行の場合の移行計画の制限の変更

大規模な移行の移行計画の制限を変更することができます。

重要

移行の失敗を防ぐために、まず変更についてのテストをご使用の環境で実行する必要があります。

単一の移行計画には以下のデフォルト制限があります。

  • 10 namespace

    この制限を超えると、CAM Web コンソールは Namespace limit exceeded エラーを表示し、移行計画を作成することができません。

  • 100 Pod

    Pod の制限を超える場合、CAM Web コンソールには、以下の例と同様の警告メッセージが表示されます。Plan has been validated with warning condition(s).See warning message.Pod limit: 100 exceeded, found: 104

  • 100 永続ボリューム

    永続ボリュームの制限を超過すると、CAM Web コンソールには同様の警告メッセージが表示されます。

手順

  1. Migration コントローラー CR を編集します。

    $ oc get migrationcontroller -n openshift-migration
    NAME AGE
    migration-controller 5d19h
    
    $ oc edit migrationcontroller -n openshift-migration
  2. 以下のパラメーターを更新します。

    [...]
    migration_controller: true
    
    # This configuration is loaded into mig-controller, and should be set on the
    # cluster where `migration_controller: true`
    mig_pv_limit: 100
    mig_pod_limit: 100
    mig_namespace_limit: 10
    [...]

2.4.5. CAM Web コンソールでの移行計画の作成

CAM Web コンソールで移行計画を作成できます。

前提条件

  • CAM Web コンソールには以下が含まれている必要があります。

    • ソースクラスター
    • CAM ツールのインストール時に自動的に追加されるターゲットクラスター
    • レプリケーションリポジトリー
  • スナップショットを使用してデータをコピーする必要がある場合、ソースおよびターゲットクラスターは、同じクラウドプロバイダー(AWS、GCP、または Azure)および同じリージョンで実行される必要があります。

手順

  1. CAM Web コンソールにログインします。
  2. Plans セクションで、Add plan をクリックします。
  3. Plan name を入力し、Next をクリックします。

    Plan name には、最大 253 文字の小文字の英数字 (a-z、0-9) を含めることができます。スペースまたはアンダースコア (_) を含めることはできません。

  4. Source cluster を選択します。
  5. Target clusterを選択します。
  6. Replication repository を選択します。
  7. 移行するプロジェクトを選択し、Next をクリックします。
  8. PV の Copy または Move を選択します。

    • Copy は、ソースクラスターの PV のデータをレプリケーションリポジトリーにコピーしてから、これを同様の特徴のある新規に作成された PV で復元します。
    • Move は、ソースクラスターからリモートボリューム (例: NFS) をアンマウントし、リモートボリュームをポイントするターゲットクラスターで PV リソースを作成し、その後にリモートボリュームをターゲットクラスターにマウントします。ターゲットクラスターで実行されているアプリケーションは、ソースクラスターが使用していたものと同じリモートボリュームを使用します。リモートボリュームは、ソースクラスターおよびターゲットクラスターからアクセスできる必要があります。
  9. Next をクリックします。
  10. PV の Copy method を選択します。

    • Snapshot は、クラウドプロバイダーのスナップショット機能を使用してディスクのバックアップおよび復元を行います。この場合、ファイルシステムを使用する場合よりもはるかに高速になります。

      注記

      ストレージおよびクラスターは同じリージョンにあり、ストレージクラスには互換性がなければなりません。

    • ファイルシステムは、データファイルをソースディスクから新規に作成されたターゲットディスクにコピーします。
  11. PV の Storage class を選択します。

    Filesystem のコピー方法を選択した場合、移行時にストレージクラスを変更できます。たとえば、Red Hat Gluster Storage または NFS ストレージから Red Hat Ceph Storage に変更できます。

  12. Finish をクリックします。
  13. Close をクリックします。

    移行計画は Plans セクションに表示されます。

2.4.6. CAM Web コンソールでの移行計画の実行

CAM Web コンソールで作成した移行計画を使用してアプリケーションとデータをステージングしたり、移行したりできます。

前提条件

CAM Web コンソールには以下が含まれている必要があります。

  • ソースクラスター
  • CAM ツールのインストール時に自動的に追加されるターゲットクラスター
  • レプリケーションリポジトリー
  • 有効な移行計画

手順

  1. OpenShift Container Platform 4 クラスターで CAM Web コンソールにログインします。
  2. 移行計画を選択します。
  3. Stage をクリックし、アプリケーションを停止せずにソースクラスターからターゲットクラスターにデータをコピーします。

    実際の移行時間を短縮するには、Stage を複数回実行することができます。

  4. アプリケーションのワークロードを移行する準備ができたら、Migrate をクリックします。

    Migrate は、ソースクラスターでアプリケーションワークロードを停止し、ターゲットクラスターでそのリソースを再作成します。

  5. オプション: Migrate ウィンドウで Do not stop applications on the source cluster during migration を選択できます。
  6. Migrate をクリックします。
  7. 移行が完了したら、アプリケーションが OpenShift Container Platform 4.2 Web コンソールで正常に移行されていることを確認します。

    1. HomeProjects をクリックします。
    2. 移行されたプロジェクトをクリックしてそのステータスを表示します。
    3. Routes セクションで Location をクリックし、アプリケーションが機能していることを確認します (該当する場合)。
    4. WorkloadsPods をクリックし、Pod が移行した namespace で実行されていることを確認します。
    5. StoragePersistent volumes をクリックして、移行した永続ボリュームが正常にプロビジョニングされていることを確認します。