Migrate to Containers のインストール

このトピックでは、Migrate to Containers を処理クラスタにインストールする方法について説明します。

処理クラスタは、Migrate to Containers コンポーネントがインストールされた Google Kubernetes Engine(GKE)または GKE Enterprise クラスタであり、本番環境クラスタにデプロイする前に VM を移行する際に使用できます。

このトピックの手順を行い、migctl コマンドライン ツールまたは Google Cloud コンソールで、作成済みの GKE クラスタに、必要な Migrate to Containers コンポーネントをインストールします。

イメージとして移行した VM を本番環境クラスタにデプロイした後、新しい移行の実行に処理クラスタは必要ないと考えられる場合、処理クラスタは削除できます。

migctl について

Migrate to Containers には、Google Cloud コンソールのサポートのほかに、migctl コマンドライン ツールが用意されています。このツールは、移行プロセスのさまざまな部分で使用できます。

  • Google Cloud で Google Kubernetes Engine(GKE)または GKE Enterprise を処理クラスタとして使用する場合は、Cloud Shellmigctl を実行します。

  • Google Distributed Cloud Virtual for Bare Metal を処理クラスタとして使用する場合は、管理ワークステーションに migctl をインストールして実行します。

migctl のダウンロード方法については、Migrate to Containers のダウンロードをご覧ください。

始める前に

Migrate to Containers のインストール

Google Cloud の migctl

migctl コマンドを使用して Migrate to Containers をインストールし、移行に必要となる基本的な構成を行います。

  1. Container Registry と Cloud Storage にアクセスするためのサービス アカウントが作成されていることを確認し、サービス アカウントの構成の説明に従って JSON キーファイルをダウンロードします。

  2. Google Cloud コンソールの GKE メニューに移動します。

    GKE メニューに移動

  3. クラスタのリストで、処理クラスタとして使用するクラスタの [接続] ボタンをクリックします。

  4. [クラスタに接続] ダイアログの [コマンドライン アクセス] で、[Cloud Shell で実行] をクリックして、Cloud Shell で connect コマンドを実行します。

    gcloud container clusters get-credentials my-cluster --zone us-central1-c --project my-project
    
  5. Cloud Shell で migctl setup install コマンドを実行し、インストール サービス アカウントを指定して、処理クラスタで Migrate to Containers コンポーネントを設定します。

    migctl setup install --json-key=m4a-install.json
    
  6. migctl doctor コマンドを実行して、Migrate to Containers のインストールを検証します。

    インストールが完了する前に、次のようなメッセージが表示されることがあります。その場合、migctl doctor を実行する前に、インストールが完了するまで数分待ちます。

    migctl doctor
    [!] Deployment
        Validation checks failed.
    

    次の出力例で、チェックマークは Migrate to Containers が正常にデプロイされ、必要なデータ リポジトリが構成されていることを示しています。

    migctl doctor
    [✓] Deployment
    [✓] Docker registry
    [✓] Artifacts repo
    [!] Source Status
    

    Docker レジストリまたはアーティファクト リポジトリに関連するエラーが発生した場合は、データ リポジトリの定義をご覧ください。

Google Distributed Cloud Virtual on Bare Metal の migctl

  1. デフォルトのプロジェクト ID を設定します。
    gcloud config set project project-id
  2. 管理ワークステーションに 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)
  3. migctl.setup install コマンドを実行して、処理クラスタに Migrate to Containers コンポーネントを設定します。
    migctl setup install --anthos-bm --gcp-project myproject --gcp-region us-central1 --json-key m4a-install.json
    --gcp-project--gcp-region--json-key など、すべての引数を指定すると、migctl によってデフォルトの Docker レジストリとアーティファクト リポジトリが、それぞれ Container Registry と Cloud Storage に作成されます。Google Cloud に移行イメージとアーティファクトがアップロードされます。他の Docker レジストリを構成して移行のデフォルトに設定することも、特定の移行に使用するように設定することもできます。
  4. migctl doctor コマンドを実行して、Migrate to Containers のインストールを検証します。インストールが完了する前は、次のようなメッセージが表示される可能性があります。その場合は、インストールが完了するまで数分待った後、migctl doctor を実行します。
    migctl doctor
      [!] Deployment
          Validation checks failed.
    次の出力例では、Migrate to Containers が正常にデプロイされていることを示すチェックマークが付いていますが、必要なデータ リポジトリがまだ構成されていません。
    migctl doctor
      [✓] Deployment
      [!] Docker registry
      [!] Artifacts repo
      [!] Source Status
  5. データ リポジトリの定義で説明されているように、クラスタが必要とするデータ リポジトリを構成します。
  6. 必要に応じて、HTTPS プロキシの構成に説明されているように、アウトバウンド インターネット アクセス用の HTTPS プロキシを構成します。

コンソール

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

    [Migrate to Containers] ページに移動

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

  3. [処理クラスタを追加] をクリックします。

  4. 移行するワークロードの種類に [Linux] または [Windows] のいずれかを選択し、[次へ] を選択します。

  5. プルダウン リストからクラスタを選択し、[次へ] を選択します。

  6. [アーティファクト リポジトリ] のバケットを選択します。

    デフォルトでは、Migrate to Containers は指定されたバケット名で Cloud Storage を使用します。必要に応じて、ここでバケット名を設定することもできます。要件については、データ リポジトリの定義に記載されている内容を確認してください。

  7. [イメージ リポジトリ] のプロジェクト名を選択します。

    Migrate to Containers では、デフォルトで Container Registry に現在のプロジェクトを使用します。必要に応じて、ここでプロジェクト名を変更することもできます。要件については、データ リポジトリの定義に記載されている内容を確認してください。

  8. [続行] をクリックします。

  9. Cloud Storage へのアクセスに使用するアーティファクト リポジトリサービス アカウントを指定します。新しいサービス アカウントを作成するか、既存のサービス アカウントを選択できます。詳細については、サービス アカウントを構成するをご覧ください。

  10. [続行] をクリックして設定を確認し、[デプロイ] をクリックして Migrate to Containers をクラスタにインストールします。

  11. インストールが完了すると、[処理中のクラスタ] タブにクラスタ名が表示され、ステータスが [準備完了] になります。

インストール オプション

さまざまなサイズと構成のクラスタを作成できます。たとえば、複数のノードプールを持つクラスタを作成し、その後、移行処理、ワークロードの実行、その他のオペレーションにそれぞれ別のノードプールを使用できます。

デフォルトでは、Migrate to Containers はすべてのクラスタノードにインストールされます。Migrate to Containers によって使用されるノードを制御するには、migctl setup install コマンドに --node-selectors オプションと --tolerations オプションを使用します。

  • --node-selectors LABEL1=VALUE1,LABEL2=VALUE2,...

    ラベルと値のペアのカンマ区切りのリストで Migrate to Containers が使用するノードを指定します。ラベルの詳細については、ラベルの作成と管理をご覧ください。

  • --tolerations KEY1=VALUE1:EFFECT1,KEY2=VALUE2:EFFECT2,...

    effect が関連付けられた Key-Value ペアのカンマ区切りのリストで Node Taints をまとめて指定します。toleration とは、Key-Value と effect で指定されたノード taint で Pod を実行できることを意味します。

    EFFECT または VALUE を省略すると、toleration では、KEY,VALUE(任意の EFFECT の場合)または KEY(任意の VALUE:EFFECT の場合)の taint を一致させます。

    Node Taints の詳細については、Node Taints によるスケジューリングの制御をご覧ください。

次のステップ