|
| 1 | +[id="premigration-checks"] |
| 2 | += Premigration checklists |
| 3 | +include::modules/common-attributes.adoc[] |
| 4 | +:context: premigration-checks |
| 5 | + |
| 6 | +toc::[] |
| 7 | + |
| 8 | +Before you migrate your application workloads with the {mtc-full} ({mtc-short}), review the following checklists. |
| 9 | + |
| 10 | +[id="cluster-health-checklist_{context}"] |
| 11 | +== Cluster health checklist |
| 12 | + |
| 13 | +* [ ] The clusters meet the minimum hardware requirements for the specific platform and installation method, for example, on xref:../installing/installing_bare_metal/installing-bare-metal.adoc#minimum-resource-requirements_installing-bare-metal[bare metal]. |
| 14 | +* [ ] The {mtc-short} version is the same on all clusters. |
| 15 | +* [ ] All xref:../migration-toolkit-for-containers/migrating-applications-with-mtc.adoc#migration-prerequisites_migrating-applications-with-mtc[{mtc-short} prerequisites] are met. |
| 16 | +* [ ] All nodes have an active {product-title} subscription. |
| 17 | +* [ ] You have xref:../support/troubleshooting/verifying-node-health.adoc#verifying-node-health[verified node health]. |
| 18 | +* [ ] The xref:../authentication/understanding-identity-provider.adoc#supported-identity-providers[identity provider] is working. |
| 19 | +* [ ] The migration network has a minimum throughput of 10 Gbps. |
| 20 | +* [ ] The clusters have sufficient resources for migration. |
| 21 | ++ |
| 22 | +[NOTE] |
| 23 | +==== |
| 24 | +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. |
| 25 | +==== |
| 26 | + |
| 27 | +* [ ] The link:https://access.redhat.com/solutions/4885641[etcd disk performance] of the clusters has been checked with `fio`. |
| 28 | + |
| 29 | +[id="source-cluster-checklist_{context}"] |
| 30 | +== Source cluster checklist |
| 31 | + |
| 32 | +* [ ] You have checked for persistent volumes (PVs) with abnormal configurations stuck in a *Terminating* state by running the following command: |
| 33 | ++ |
| 34 | +[source,terminal] |
| 35 | +---- |
| 36 | +$ oc get pv |
| 37 | +---- |
| 38 | + |
| 39 | +* [ ] You have checked for pods whose status is other than *Running* or *Completed* by running the following command: |
| 40 | ++ |
| 41 | +[source,terminal] |
| 42 | +---- |
| 43 | +$ oc get pods --all-namespaces | egrep -v 'Running | Completed' |
| 44 | +---- |
| 45 | + |
| 46 | +* [ ] You have checked for pods with a high restart count by running the following command: |
| 47 | ++ |
| 48 | +[source,terminal] |
| 49 | +---- |
| 50 | +$ oc get pods --all-namespaces --field-selector=status.phase=Running \ |
| 51 | + -o json | jq '.items[]|select(any( .status.containerStatuses[]; \ |
| 52 | + .restartCount > 3))|.metadata.name' |
| 53 | +---- |
| 54 | ++ |
| 55 | +Even if the pods are in a *Running* state, a high restart count might indicate underlying problems. |
| 56 | + |
| 57 | +* [ ] The cluster certificates are valid for the duration of the migration process. |
| 58 | +* [ ] You have checked for pending certificate-signing requests by running the following command: |
| 59 | ++ |
| 60 | +[source,terminal] |
| 61 | +---- |
| 62 | +$ oc get csr -A | grep pending -i |
| 63 | +---- |
| 64 | + |
| 65 | +* [ ] The registry uses a link:../scalability_and_performance/optimizing-storage.html#recommended-configurable-storage-technology_persistent-storage[recommended storage type]. |
| 66 | +* [ ] You can read and write images to the registry. |
| 67 | +* [ ] The link:https://access.redhat.com/articles/3093761[etcd cluster] is healthy. |
| 68 | +* [ ] The xref:../post_installation_configuration/node-tasks.adoc#create-a-kubeletconfig-crd-to-edit-kubelet-parameters_post-install-node-tasks[average API server response time] on the source cluster is less than 50 ms. |
| 69 | + |
| 70 | +[id="target-cluster-checklist_{context}"] |
| 71 | +== Target cluster |
| 72 | + |
| 73 | +* [ ] 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. |
| 74 | +* [ ] External applications and services that use services provided by the cluster have the correct network configuration and permissions to access the cluster. |
| 75 | +* [ ] Internal container image dependencies are met. |
| 76 | +* [ ] The target cluster and the replication repository have sufficient storage space. |
0 commit comments