アプリケーションを GKE Autopilot クラスタに移行およびデプロイする

移行したコンテナ ワークロードを GKE Autopilot クラスタにデプロイするには、既存のアーキテクチャの場合と同じ手順でワークロードを移行します。唯一の変更点は次のとおりです。

  • コンテナ アーティファクトを生成する前に、移行計画で v2kServiceManagertrue に設定する必要があります。

  • 新しい services-config.yaml ファイルを確認して、初期化サービスを編集する必要があります。services-config.yaml の使用をご覧ください。

移行を行うには:

  1. Migrate to Containers バージョン 1.15.0 をインストールします

  2. 今までと同様に既存のランタイムを使用して、移行元を追加して移行を作成します。

  3. 必要に応じて、移行計画をカスタマイズします。

    1. 移行計画をダウンロードします。移行計画は AppXGenerateArtifactsFlow で表されます。

      たとえば、「my-migration」という名前の移行の場合は、次のようになります。

      migctl migration get my-migration
    2. テキスト エディタで、ダウンロードした移行計画(my-migration.yaml)を開きます。

    3. 強化された Linux サービス マネージャーを確認します。v2kServiceManager フラグはデフォルトで true に設定されています。ただし、Migrate to Containers が、サービス マネージャーでサポートされていないシステム サービスを検出した場合はアラートが返され、v2kServiceManager フラグは false に設定されます。フラグが false の場合、移行はサービスをサポートする従来のランタイムを使用します。

      サポートされていないサービスとともに、次のアラートが表示されます。

      Service is not supported by v2k service manager, therefore legacy runtime
      will be used instead of v2k service manager, and migrated workload would
      not fit running on Autopilot clusters of Cloudrun.

      サポートされていないサービスが見つかった場合は、フラグを手動で true に設定することもできます。この場合、実行されない可能性のあるサポート対象外のサービスを生成イメージで維持することも、サービスを移行計画から削除して除外することもできます。

      新しいサービス マネージャーを有効にするには、フラグを true にリセットします。

      v2kServiceManager: true
    4. 移行計画のカスタマイズに説明されているように、移行に必要なその他のカスタマイズを行います。

    5. 編集が終わったら、編集したファイルを保存します。

    6. 編集した移行計画をアップロードします。

      migctl migration update my-migration --main-config my-migration.yaml
  4. これまでと同様に既存のランタイムを使用して、移行アーティファクトを生成し、それを確認します。

  5. 新しい services-config.yaml ファイルを編集して、コンテナの初期化プロパティを構成します。ファイルを保存してコンテナ イメージを再ビルドし、変更を適用します。

    詳細については、services-config.yaml の使用をご覧ください。

  6. kubectl を使用して GKE Autopilot クラスタにコンテナをデプロイします

    kubectl apply -f deployment_spec.yaml

例: Autopilot にクイックスタート コンテナをデプロイする

最新のクイックスタート ガイドに沿って、シンプル ウェブサーバーを含むコンテナを移行し、Autopilot にデプロイします。クイックスタート プロセスには、次の変更のみを行う必要があります。

  1. VM を移行するのステップ 3(移行計画の確認)で、移行計画の v2kServiceManagertrue に設定して、計画を保存します。

    v2kServiceManager: true
  2. コンテナをデプロイする前に、移行したワークロードのデプロイ セクションで、GKE Autopilot クラスタを作成して接続します。

    1. GKE Autopilot クラスタを作成します。

      gcloud container clusters create-auto "CLUSTER_NAME"
      --project "PROJECT_NAME"  --region "REGION" --release-channel "regular"
      --subnetwork "projects/PROJECT_NAME/regions/us-central1/subnetworks/default"
    2. クラスタに接続します。

      gcloud container clusters get-credentials CLUSTER_NAME 
        --zone REGION --project PROJECT_NAME
      
    3. 移行されたワークロードをデプロイするセクションの説明に従い、コンテナをデプロイします。

AppXGenerateArtifactsFlow CRD に対する変更

CRD ファイルを使用して移行を制御する場合は、AppXGenerateArtifactsFlow CRD を編集して、v2kServiceManagertrue に設定します。CRD ファイルを使用して移行を制御する詳しい方法については、移行計画のカスタマイズをご覧ください。

次のステップ