Migrate to Containers とプラグインをアップグレードする
このドキュメントでは、現在インストールしている Migrate to Containers をバージョン 1.15.0 にアップグレードし、Migrate to Containers プラグインを最新バージョンにアップグレードする方法について説明します。
通常、アップグレードを行う前に、既存の移行をすべて削除します。現在実行中の移行がある場合は、移行が完了するまで待機してから削除します。ただし、移行元は削除しないでください。移行元は、アップグレード プロセスの一部として更新されます。
migctl を使用してアップグレードを実行する
使用するアップグレード プロセスは、migctl
を実行する環境に基づいて決まります。
Google Cloud で Google Kubernetes Engine(GKE)または GKE Enterprise の処理クラスタを使用する場合は、Cloud Shell で
migctl
を実行します。Cloud Shell では、
migctl
の最新リリースが自動的にインストールされます。その後必要になるのは処理クラスタのアップグレードのみです。ベアメタル版 Google Distributed Cloud Virtual 処理クラスタを使用する場合は、管理ワークステーションに
migctl
をインストールします。まず、
migctl
の最新リリースをオンプレミスの管理ワークステーションにダウンロード、インストールしてから、それを使用して処理クラスタをアップグレードします。
Migrate to Containers をアップグレードする
Migrate to Containers の以前のリリースをバージョン 1.15.0 にアップグレードするには:
処理クラスタに接続します。
Google Cloud の migctl
Google Cloud コンソールの GKE メニューに移動します。
クラスタのリストで、処理クラスタとして使用しているクラスタを見つけ、[接続] ボタンをクリックします。
[クラスタに接続] ダイアログの [コマンドライン アクセス] で、[Cloud Shell で実行] をクリックして、Cloud Shell で connect コマンドを実行します。
gcloud container clusters get-credentials cluster-name --zone zone-name --project project-name
ベアメタル版 Google Distributed Cloud Virtual の migctl
- クラスタに接続します。詳細については、Google Cloud コンソールからクラスタを管理するをご覧ください。
既存の移行を確認して、削除します。
現在の移行を一覧表示します。
migctl migration list NAME STATUS CURRENT-OPERATION my-migration Completed GenerateArtifacts another-migration Running GenerateMigrationPlan
次のコマンドを使用して、完了したすべての移行を 1 つずつ削除します。
migctl migration delete my-migration
現在実行中の移行がある場合は、上記の「ステップ a」を繰り返して、完了するまで待機します。その後、削除します。
現在のバージョンを確認するには、
migctl version
コマンドを使用します。次に例を示します。migctl version
戻り値:
Migrate to Containers version: 1.10.1
クラスタをアップグレードします。
Google Cloud の migctl
1.15.0 にアップグレードします。
Cloud Shell で次のコマンドを実行します。
migctl setup upgrade
コマンド:
古いバージョンの Migrate to Containers をアンインストールし、バージョン 1.15.0 をインストールします。
既存の移行元をバージョン 1.15.0. にアップグレードします。
ベアメタル版 Google Distributed Cloud Virtual の migctl
管理ワークステーションに migctl をデプロイします。
wget https://modernize-release.storage.googleapis.com/v1.15.0/linux/amd64/migctl
sudo cp migctl /usr/local/bin/
sudo chmod +x /usr/local/bin/migctl
. <(migctl completion bash)
1.15.0 にアップグレードします。
アップグレードを実行します。
migctl setup upgrade --gkeop
コマンド:
古いバージョンの Migrate to Containers をアンインストールし、バージョン 1.15.0 をインストールします。
既存の移行元をバージョン 1.15.0. にアップグレードします。
migctl doctor
コマンドを実行してアップグレードを検証します。アップグレードが完了する前に、次のようなメッセージが表示されることがあります。メッセージが表示された場合は、アップグレードが完了するまで数分待ってから
migctl doctor
を再度実行してください。migctl doctor [✓] Deployment [✓] Admission Controller [!] Components Job controllers-deploy-cert is not ready Job controllers-upgrade is not ready
次の出力例のチェックマークは、Migrate to Containers が正常にアップグレードされたことを示しています。
migctl doctor [✓] Deployment [✓] Docker registry [✓] Artifacts repo [✓] Source Status
バージョン 1.6 以降にアップグレードすると、
migctl doctor
では、Docker registry
、Artifacts repo
、Source Status
フィールドを表示するようになります。ここで、データ リポジトリが正しく構成されていれば、
Docker registry
とArtifacts repo
には [✓] が表示されます。Docker レジストリまたはアーティファクト リポジトリに関連するエラーが発生した場合は、データ リポジトリの定義をご覧ください。Source Status
には、最初の移行元を定義するまで [!] が表示されます。詳しくは、移行元の追加(Linux)または移行元の追加(Windows)をご覧ください。
アップグレードが完了したら、移行元が正常にアップグレードされたことを確認するために、移行を再作成する必要があります。移行の作成をご覧ください。
Migrate to Containers プラグインをアップグレードする
Migrate to Containers はプラグインを使用して、サポートされているワークロードのさまざまな工程のモダナイゼーション ロジックを管理します。最新バージョンのプラグインで利用可能な機能を使用するには、プラグインをアップグレードして新しい移行を作成する必要があります。プラグインをアップグレードしても、進行中の移行に影響しません。
プラグインを最新バージョンにアップグレードするには、次のコマンドを実行します。
JOB_NAME=plugins-updater-NAME
kubectl apply -f - <<EOF
apiVersion: batch/v1
kind: Job
metadata:
name: $JOB_NAME
namespace: v2k-system
spec:
backoffLimit: 20
template:
spec:
serviceAccountName: plugins-updater-sa
containers:
- name: plugins-updater
image: us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/plugins-updater:latest
imagePullPolicy: Always
restartPolicy: OnFailure
EOF
NAME は、ジョブ名に追加する文字列に置き換えます。
アップグレードのステータスを表示するには、次のコマンドを実行します。
kubectl get job -n v2k-system plugins-updater-NAME
NAME は、ジョブ名に追加した文字列に置き換えます。
次のように、出力にジョブのステータスが表示されます。
NAME COMPLETIONS DURATION AGE
plugins-updater-upgrade 1/1 12s 37s
[完了] 列に 1/1
と表示されている場合は、ジョブが完了してプラグインが更新されています。
アップグレードの完了後にジョブを削除するには、次のコマンドを実行します。
kubectl delete job -n v2k-system plugins-updater-NAME
NAME は、ジョブ名に追加した文字列に置き換えます。
次のステップ
- データ リポジトリの定義方法を確認する。