Before you migrate your application workloads with the Migration Toolkit for Containers (MTC), review the following checklists.

Cluster health checklist

  • The clusters meet the minimum hardware requirements for the specific platform and installation method, for example, on bare metal.

  • All MTC prerequisites are met.

  • All nodes have an active OpenShift Container Platform subscription.

  • You have verified node health.

  • The identity provider is working.

  • The migration network has a minimum throughput of 10 Gbps.

  • The clusters have sufficient resources for migration.

    Clusters require additional memory, CPUs, and storage in order to run a migration on top of normal workloads. Actual resource requirements depend on the number of Kubernetes resources being migrated in a single migration plan. You must test migrations in a non-production environment in order to estimate the resource requirements.

  • The etcd disk performance of the clusters has been checked with fio.

Source cluster checklist

  • You have checked for persistent volumes (PVs) with abnormal configurations stuck in a Terminating state by running the following command:

    $ oc get pv
  • You have checked for pods whose status is other than Running or Completed by running the following command:

    $ oc get pods --all-namespaces | egrep -v 'Running | Completed'
  • You have checked for pods with a high restart count by running the following command:

    $ oc get pods --all-namespaces --field-selector=status.phase=Running \
      -o json | jq '.items[]|select(any( .status.containerStatuses[]; \
      .restartCount > 3))|.metadata.name'

    Even if the pods are in a Running state, a high restart count might indicate underlying problems.

  • The cluster certificates are valid for the duration of the migration process.

  • You have checked for pending certificate-signing requests by running the following command:

    $ oc get csr -A | grep pending -i
  • The registry uses a recommended storage type.

  • You can read and write images to the registry.

  • The etcd cluster is healthy.

  • The average API server response time on the source cluster is less than 50 ms.

Target cluster checklist

  • The cluster has the correct network configuration and permissions to access external services, for example, databases, source code repositories, container image registries, and CI/CD tools.

  • External applications and services that use services provided by the cluster have the correct network configuration and permissions to access the cluster.

  • Internal container image dependencies are met.

  • The target cluster and the replication repository have sufficient storage space.