移行を実行する

VM の移行を開始するには、Migrate to Containers のインストールで作成した処理クラスタを使用して、ターゲット コンテナのアーティファクトを生成および抽出するコマンドを実行します。

このトピックでは、次のことを行う移行を実施する方法について説明します。

  • ワークロード アーティファクトを VM からコンテナ イメージとデータ ボリュームに抽出する(ステートフル ワークロードの場合)。
  • VM のコンテナ イメージを Container Registry にコピーする。
  • 本番環境でのデプロイに使用できる移行デプロイ アーティファクトを生成する。

このステップが完了すると、次のことができるようになります。

  • 処理クラスタのイメージとデータ ボリュームをテストする(ステートフル ワークロードの場合)。

    イメージはまだ別のクラスタにデプロイされていませんが、実行とテストができます。移行が完了すると、イメージはソース VM に接続されなくなります。

  • イメージとデータ ボリューム(ステートフル ワークロード用)を別のクラスタにデプロイする。

始める前に

正常に完了するには、まず次のことを行う必要があります。

移行を実行してアーティファクトを生成する

migctl migration generate-artifacts コマンドまたは Google Cloud コンソールを使用して、VM の移行処理の一部としてターゲットのコンテナ アーティファクトを生成します。

migctl

  1. 移行を実行します。

    migctl migration generate-artifacts my-migration
  2. 移行ステータスを取得します。

    migctl migration status my-migration

コンソール

  1. Google Cloud コンソールで [Migrate to Containers] ページを開きます。

    [Migrate to Containers] ページに移動

  2. [移行] タブをクリックして、使用可能な移行を含むテーブルを表示します。

  3. 目的の移行の行の [次のステップ] プルダウンで、[アーティファクトの生成] を選択します。

  4. 次の方法で移行のステータスを表示します。

    • 移行の行の [ステータス] 列を表示します。

    • 移行名をクリックします。移行の [詳細] タブが開きます。[モニタリング] タブをクリックして、詳細なステータスを確認するか [イベント] タブをクリックして移行イベントを確認します。

  5. 移行のステータスが「アーティファクトの生成完了」になったら、次の手順に進みます。

CRD

Linux、Windows、Tomcat

  1. 移行の作成時に Migration yaml で指定された名前を使用して、AppXGenerateArtifactsFlow の名前を取得します。

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration  -o jsonpath={.status.migrationPlanRef.name}

  2. AppXGenerateArtifactsTask my-generate.yaml ファイルを作成して、アーティファクトの生成タスクを定義します。

    このファイルで、migration は移行の作成時に使用される移行名を表します。flow は、前のステップで取得した移行の AppxGenerateArtifactsFlow を表します。

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: AppXGenerateArtifactsTask
    metadata:
     name: my-migration-task
     namespace: v2k-system
    spec:
     migration:
       name:  my-migration
     flow:
       name:  appx-generateartifactsflow-my-migration
  3. ファイルを適用します。

    kubectl apply -f my-generate.yaml

ワークロードのアーティファクトを生成する場合、Migrate to Containers はアーティファクトを作成して、Cloud Storage バケットにアップロードします。アーティファクト ディレクトリ ファイルには次のものが含まれています。

  • Dockerfile - 移行された VM のイメージのビルドに使用される Dockerfile。
  • deployment_spec.yaml - ワークロードを構成する YAML ファイル。
  • secrets.yaml - 機密データを含むシークレット YAML ファイルもアーティファクト ディレクトリに追加される場合があります。

    このファイルと kubectl apply を使用して、本番環境クラスタやテストクラスタなどのクラスタにワークロードをデプロイできます。

  • ソースから抽出されて Dockerfile で使用されるディレクトリとファイル。

生成されたアーティファクトをダウンロードする

生成されたコンテナ アーティファクトをこのネストされたディレクトリにダウンロードするには、次のコマンドを実行します。

migctl migration get-artifacts my-migration

生成されるアーティファクトには、プラグインと移行計画に応じて、コンテナ イメージのビルドに使用される 1 つ以上の Dockerfile と 1 つ以上の Kubernetes Deployment の spec が含まれています。

さらに、Migrate to Containers は、生成されたすべてのイメージを 1 つのステップですばやくビルドしてデプロイできる Skaffold 構成を生成します。

次のステップ