生成されたデプロイ ファイルの確認
処理クラスタを使用してワークロードの移行を完了したら、移行の一部として生成された YAML ファイルをダウンロードします。
これらのファイルは移行アーティファクトと呼ばれ、移行したワークロード コンテナを別のクラスタ(テストクラスタや本番環境クラスタなど)にデプロイするため生成されています。
このトピックでは、生成されたファイルをダウンロードして、別のクラスタで使用するための確認を行う方法について説明します。
始める前に
ダウンロードを行うユーザーに、アーティファクト リポジトリへの読み取りアクセス権が付与されていることを確認します。詳細については、データ リポジトリの定義をご覧ください。
生成されたアーティファクト ファイルについて
移行中に次のアーティファクト ファイルが生成されます。
deployment_spec.yaml
-- ワークロードを構成する YAML ファイル。このファイルを指定した
kubectl apply
を使用することで、本番環境クラスタやテストクラスタなど、別のクラスタにワークロードをデプロイできます。Dockerfile -- 移行された VM のイメージのビルドに使用される Dockerfile。
blocklist.yaml
- 移行計画の設定に基づいて無効にするコンテナ サービスのリスト。このファイルを編集してサービスのリストを制御します。サービスリストのカスタマイズをご覧ください。migration.yaml
-- 移行計画のコピー。移行で行われたことは、このファイルを使用して確認できます。
logs.yaml
-- ソース VM で検出されたログファイルのリスト。移行されたワークロードによってこれらのログファイルに書き込まれたデータは、Cloud Logging に転送されます。このファイルを編集してログの書き込みを制御します。Cloud Logging に書き込まれるログデータをカスタマイズするをご覧ください。
以下では、これらのファイルについて詳しく説明します。
すべてのアーティファクト ファイルをダウンロードする
migctl
移行の完了後、ステータスをリクエストすると以下のようなメッセージが表示されます。
migctl migration status my-migration NAME CURRENT-OPERATION PROGRESS STEP STATUS AGE my-migration GenerateArtifacts [1/1] ExtractImage Completed 14m23s
移行が完了したら、migctl migration get-artifacts
を使用して、生成されたすべてのアーティファクト ファイルをダウンロードします。
migctl migration get-artifacts my-migration
Console
移行が完了すると、移行の [ステータス] 列に [アーティファクトの生成完了] と表示されます。すべての移行アーティファクトをダウンロードするには:
Cloud Console で [Migrate for Anthos and GKE] ページを開きます。
[移行] タブをクリックして、使用可能な移行を含むテーブルを表示します。
目的の移行の行で移行の [名前] をクリックします。VM の移行の [詳細] タブが開きます。
[アーティファクト] タブを選択します。
[Docker ファイル、デプロイ仕様、その他のアーティファクト] を選択して、アーティファクトを含む Cloud Storage バケットを開きます。
すべてのファイルを選択し、[ダウンロード] を選択します。
CRD
移行が完了したら、次の手順ですべての移行アーティファクトをダウンロードします。
アーティファクトを含む Cloud Storage バケットを取得します。
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration -o jsonpath={.status.artifacts.deploymentFiles.bucket}
このコマンドは、バケット名を次の形式で返します。
bucket-migration-artifacts
Cloud Storage の移行マニフェスト YAML ファイルを取得します。
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration -o jsonpath={.status.artifacts.deploymentFiles.artifactsManifestFile}
このコマンドによって、マニフェスト YAML ファイル名が次の形式で返されます。
bucket-migration-artifacts/v2k-system-my-migration/ID/manifest.yaml
Cloud Console で [Cloud Storage] に移動し、マニフェスト ファイルを取得します。次のマニフェスト ファイルの例には、
artifacts
URL が含まれています。artifacts: - https:/storage.cloud.google.com/bucket-name/v2k-system-my-migration/ID/deployment_spec.yaml - https:/storage.cloud.google.com/bucket-name/v2k-system-my-migration/ID/Dockerfile - https:/storage.cloud.google.com/bucket-name/v2k-system-my-migration/ID/migration.yaml imageUrl: gcr.io/velos-auto-1/matanvm:v1.0.0 name: m1-84xqp namespace: v2k-system uid: daf762-d9-42-bfc-47b71255a version: "1.0"
ブラウザで
artifacts
URL を開き、アーティファクトをダウンロードします。
deployment_spec.yaml
このファイルは、テストクラスタや本番環境クラスタなどの別のクラスタにワークロードをデプロイするために使用できる YAML ファイルです。データの移行を構成しない場合は、Deployment オブジェクトを生成します。データの移行を構成するときに、StatefulSet オブジェクトを生成します。
Dockerfile
移行された VM のイメージのビルドに使用される Dockerfile。
新しいバージョンのイメージを生成する必要がある場合は、このファイルを使用します。たとえば、パッケージをインストールして後で新しいイメージをキャプチャする場合が考えられます。イメージの再構築は、Migrate for Anthos and GKE が(バグ修正などで)アップグレードされた際に、新しい Migrate for Anthos and GKE ランタイムでイメージを再構築するときにも役立ちます。アップグレードされたランタイムは、Container Registry で利用できます。
他の Dockerfile の場合と同様に、このファイルを編集してイメージをカスタマイズできます。ヒントについては、Dockerfile を作成する際のベスト プラクティスを参照してください。また、Dockerfile の編集については、移行後のイメージの更新をご覧ください。
# Please refer to the documentation:
# https://cloud.google.com/migrate/anthos/docs/dockerfile-reference
# Image containing data captured from the source VM
FROM gcr.io/my-project/my-vm-instance-1-non-runnable-base:v1.0.0 as source-content
# If you want to update parts of your image, add you commands here.
# For example:
# RUN apt-get update
# RUN apt-get install -y \
# package1=version \
# package2=version \
# package3=version
# RUN yum update
# RUN wget http://github.com
FROM gcr.io/my-project/v2k-run-embedded:v1.5.0 as migrate-for-anthos-runtime
COPY --from=source-content / /
# Migrate for Anthos and GKE image includes entrypoint
ENTRYPOINT [ "/.v2k.go" ]
migration.yaml
このファイルは、作成した移行のコピーです。このファイルを使用し、Migrate for Anthos and GKE によって使用される移行の詳細が、移行計画で指定したものと一致することを確認します。
このファイルを使用して移行を再実行しないでください。移行の実行後は、migctl migration delete
または Google Cloud Console で移行を削除し、移行計画から再び実行した後に限り、移行を再実行できます。
blocklist.yaml
このファイルには、移行計画の設定に基づいて無効にするコンテナ サービスが列挙されています。このファイルの使用方法の詳細については、サービスリストのカスタマイズをご覧ください。