Upgrading Migrate for Anthos and GKE to 1.9.0

This document describes how to upgrade your current installation of Migrate for Anthos and GKE to version 1.9.0.

You typically delete all existing migrations before you perform the upgrade. If any migrations are currently running, wait for them to complete and then delete them. However, do not delete your migration sources. Migration sources are updated as part of the upgrade process.

Upgrade paths

You can upgrade Migrate for Anthos and GKE to version 1.9.0 from the following versions:

Current version Upgrade path Notes
1.7.x, 1.8.x >> 1.9.0
1.6 >> 1.8.1 >> 1.9.0

The first release of Migrate for Anthos and GKE that supported processing clusters deployed as Anthos clusters on AWS was 1.6.

1.5 >> 1.7.5 >> 1.9.0 You must upgrade to 1.7.5, then to 1.9.0.
1.3, 1.4 >> 1.5 >> 1.7.5 >> 1.9.0 You must upgrade to 1.5, then to 1.7.5, then to 1.9.0.

Using migctl to perform the upgrade

The upgrade process you use is based on the environment where you run migctl:

  • When using Google Kubernetes Engine (GKE) or Anthos processing clusters in Google Cloud, you run migctl in Cloud Shell.

    In Cloud Shell, the latest release of migctl is installed automatically. You then only have to upgrade your processing clusters.

  • When using an Anthos clusters on VMware or Anthos clusters on AWS processing cluster, install migctl on your admin workstation.

    You first download and install the latest release of migctl on your on-repm admin workstation, then use it to upgrade your processing clusters.

Upgrading

To upgrade a previous release of Migrate for Anthos and GKE to version 1.9.0:

  1. Connect to your processing cluster:

    migctl on Google Cloud

    1. Visit the GKE menu in Cloud Console.

      Visit the GKE menu

    2. In the list of clusters, locate the cluster you are using as a processing cluster and click its Connect button.

    3. In the Connect to the cluster dialog, under Command-line access, click Run in Cloud Shell to run the connect command in Cloud Shell.

      gcloud container clusters get-credentials cluster-name --zone zone-name --project project-name
      

    migctl on VMware

    1. Connect to your cluster. For more information, see Connecting to Google.

    migctl on AWS

    1. Connect to your cluster. For more information, see Creating a user cluster.
  2. Check for any existing migrations and delete them:

    1. List current migrations:

      migctl migration list
      
      NAME                STATUS      CURRENT-OPERATION
      my-migration        Completed   GenerateArtifacts
      another-migration   Running     GenerateMigrationPlan
    2. Delete all completed migrations, one by one, using the following command:

      migctl migration delete my-migration
    3. For any migration that is currently running, repeat "Step a" above and wait for it to complete. Then delete it.

  3. Use the migctl version command to determine your current version. For example:

    migctl version

    Returns:

    Migrate for Anthos and GKE version: 1.5.1
  4. Upgrade the cluster:

    migctl on Google Cloud

    1. If you are currently on version 1.8.x or 1.7.x upgrade to 1.9.0:

      1. In Cloud Shell run the command:

        migctl setup upgrade

        The command:

        • Uninstalls version 1.8.x or 1.7.x of Migrate for Anthos and GKE, and installs version 1.9.0.

        • Upgrades existing 1.8.x or 1.7.x migration sources to version 1.9.0.

    2. If you are currently on version 1.6.x, upgrade to 1.8.1:

      1. In Cloud Shell run the command:

        migctl setup upgrade --version 1.8.1

        The command:

        • Uninstalls version 1.6.x of Migrate for Anthos and GKE, and installs version 1.8.1.

        • Upgrades existing 1.6.x migration sources to version 1.8.1.

      2. Go to Step 5 to validate the upgrade. Then repeat this process to upgrade from 1.6.0 to 1.9.0.

    3. If you are currently on version 1.5.x, upgrade to 1.7.5:

      1. In Cloud Shell run the command:

        migctl setup upgrade --version 1.7.5

        The command:

        • Uninstalls version 1.5 of Migrate for Anthos and GKE, and installs version 1.7.5.

        • Upgrades existing 1.5 migration sources to version 1.7.5.

      2. Go to Step 5 to validate the upgrade. Then repeat this process to upgrade from 1.7.5 to 1.9.0.

    4. If you are currently on version 1.3.x or 1.4.x, upgrade to 1.5.0:

      1. In Cloud Shell run the command:

        migctl setup upgrade --version 1.5.0

        The command:

        • Uninstalls version 1.3.x or 1.4.x of Migrate for Anthos and GKE, and installs version 1.5.

        • Upgrades existing 1.3.x or 1.4.x migration sources to version 1.5.

      2. Go to Step 5 to validate the upgrade. Then repeat this process to upgrade to 1.7.5, and then to 1.9.0.

    migctl on VMware

    1. Deploy migctl on your admin workstation:

      wget https://anthos-migrate-release.storage.googleapis.com/v1.9.0/linux/amd64/migctl
      sudo cp migctl /usr/local/bin/
      sudo chmod +x /usr/local/bin/migctl
      . <(migctl completion bash)
    2. If you are currently on version 1.7.x or 1.8.x, upgrade to 1.9.0:

      1. Run the upgrade:

        migctl setup upgrade --gkeop

        The command:

        • Uninstalls version 1.7.x or 1.8.x of Migrate for Anthos and GKE, and installs version 1.9.0.

        • Upgrades existing 1.7.x or 1.8.x migration sources to version 1.9.0.

    3. If you are currently on version 1.6.x, upgrade to 1.8.1:

      1. In Cloud Shell run the command:

        migctl setup --gkeop upgrade --version 1.8.1

        The command:

        • Uninstalls version 1.6.x of Migrate for Anthos and GKE, and installs version 1.8.1.

        • Upgrades existing 1.6.x migration sources to version 1.8.1.

      2. Go to Step 5 to validate the upgrade. Then repeat this process to upgrade from 1.6.0 to 1.9.0.

    4. If you are currently on version 1.5.x, upgrade to 1.7.5:

      1. Run the upgrade:

        migctl setup upgrade --gkeop --version 1.7.5

        The command:

        • Uninstalls version 1.5.x of Migrate for Anthos and GKE, and installs version 1.7.5.

        • Upgrades existing 1.5.x migration sources to version 1.7.5.

      2. Go to Step 5 to validate the upgrade. Then repeat this process to upgrade from 1.7.5 to 1.9.0.

    5. If you are currently on version 1.4.x, upgrade to 1.7.5:

      1. Run the upgrade:

        migctl setup upgrade --gkeop --version 1.7.5

        The command:

        • Uninstalls version 1.4.x of Migrate for Anthos and GKE, and installs version 1.7.5.

        • Upgrades existing 1.4.x migration sources to version 1.7.5.

      2. Go to Step 5 to validate the upgrade. Then repeat this process to upgrade from 1.7.5 to 1.9.0.

    migctl on AWS

    1. Deploy migctl on your admin workstation:

      wget https://anthos-migrate-release.storage.googleapis.com/v1.9.0/linux/amd64/migctl
      sudo cp migctl /usr/local/bin/
      sudo chmod +x /usr/local/bin/migctl
      . <(migctl completion bash)
    2. If you are currently on version 1.7.x or 1.8.x, upgrade to 1.9.0:

      1. In Cloud Shell run the command:

        migctl setup upgrade --gke-on-aws

        The command:

        • Uninstalls version 1.7.x or 1.8.x of Migrate for Anthos and GKE, and installs version 1.9.0.

        • Upgrades existing 1.7.x or 1.8.x migration sources to version 1.9.0.

      2. Go to Step 5 to validate the upgrade. Then repeat this process to upgrade from 1.6.0 to 1.9.0.

    3. If you are currently on version 1.6.x, upgrade to 1.8.1:

      1. In Cloud Shell run the command:

        migctl setup -gke-on-aws upgrade --version 1.8.1

        The command:

        • Uninstalls version 1.6.x of Migrate for Anthos and GKE, and installs version 1.8.1.

        • Upgrades existing 1.6.x migration sources to version 1.8.1.

      2. Go to Step 5 to validate the upgrade. Then repeat this process to upgrade from 1.6.0 to 1.9.0.

  5. Validate the upgrade by running the migctl doctor command.

    Before the upgrade has completed, you might see a message such as the following. If so, wait a few minutes for the upgrade to finish before running migctl doctor again.

    migctl doctor
    [✓] Deployment
      [✓] Admission Controller
      [!] Components
        Job controllers-deploy-cert is not ready
        Job controllers-upgrade is not ready
    

    In the following example output, the check mark indicates that Migrate for Anthos and GKE has been successfully upgraded.

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

    If you are upgrading to version 1.6 or later, migctl doctor now displays the Docker registry, Artifacts repo, and Source Status fields, where:

  6. After the upgrade completes, you must recreate your migrations to validate that the migration sources were upgraded successfully. See Creating a migration.