移行を実行する
VM の移行を開始するには、Migrate to Containers のインストールで作成した処理クラスタを使用して、ターゲット コンテナのアーティファクトを生成および抽出するコマンドを実行します。
このトピックでは、次のことを行う移行を実施する方法について説明します。
- ワークロード アーティファクトを VM からコンテナ イメージとデータ ボリュームに抽出する(ステートフル ワークロードの場合)。
- VM のコンテナ イメージを Container Registry にコピーする。
- 本番環境でのデプロイに使用できる移行デプロイ アーティファクトを生成する。
このステップが完了すると、次のことができるようになります。
処理クラスタのイメージとデータ ボリュームをテストする(ステートフル ワークロードの場合)。
イメージはまだ別のクラスタにデプロイされていませんが、実行とテストができます。移行が完了すると、イメージはソース VM に接続されなくなります。
イメージとデータ ボリューム(ステートフル ワークロード用)を別のクラスタにデプロイする。
始める前に
正常に完了するには、まず次のことを行う必要があります。
- 移行を作成して移行計画を作成します。
- ワークロード タイプに応じて移行計画をカスタマイズします。
- Linux - 移行計画をカスタマイズする。
- Windows - 移行計画をカスタマイズする。
- Tomcat - 移行計画をカスタマイズする。
- WebSphere traditional - 移行計画をカスタマイズする。
- JBoss - 移行計画をカスタマイズする。
- WordPress - 移行計画をカスタマイズする。
移行を実行してアーティファクトを生成する
migctl migration generate-artifacts
コマンドまたは Google Cloud コンソールを使用して、VM の移行処理の一部としてターゲットのコンテナ アーティファクトを生成します。
migctl
移行を実行します。
migctl migration generate-artifacts my-migration
移行ステータスを取得します。
migctl migration status my-migration
コンソール
Google Cloud コンソールで [Migrate to Containers] ページを開きます。
[移行] タブをクリックして、使用可能な移行を含むテーブルを表示します。
目的の移行の行の [次のステップ] プルダウンで、[アーティファクトの生成] を選択します。
次の方法で移行のステータスを表示します。
移行の行の [ステータス] 列を表示します。
移行名をクリックします。移行の [詳細] タブが開きます。[モニタリング] タブをクリックして、詳細なステータスを確認するか [イベント] タブをクリックして移行イベントを確認します。
移行のステータスが「アーティファクトの生成完了」になったら、次の手順に進みます。
CRD
Linux、Windows、Tomcat
移行の作成時に Migration yaml で指定された名前を使用して、AppXGenerateArtifactsFlow の名前を取得します。
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration -o jsonpath={.status.migrationPlanRef.name}
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
ファイルを適用します。
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 構成を生成します。
次のステップ
- 移行をモニタリングする方法を確認する。