[Yandex Cloud documentation](../../../index.md) > [Yandex Managed Service for Kubernetes](../../index.md) > [Tutorials](../index.md) > Migrating to Managed Service for Kubernetes > Overview

# Migrating to Managed Service for Kubernetes

Managed Service for Kubernetes enables you to migrate your Kubernetes workloads from any environment, without vendor or infrastructure lock-in. The following scenarios are supported:

* [Migration from other cloud providers to Yandex Cloud](migration-from-cloud.md).
* Migration from on-premises infrastructure to Yandex Cloud.
* Hybrid setups with partial workload migration to Yandex Cloud using [external nodes](../../operations/external-nodes-connect.md) or [BareMetal servers](../../operations/bms-server-connect.md).

## Migration overview {#overview}

1. **Inventory**: Audit your workloads, assess API compatibility, and define network requirements.
1. **Network connectivity (for on-premises)**: Establish a connection between the source infrastructure and Yandex Cloud.
1. **Yandex Cloud infrastructure**: Create VPCs, security groups, IAM resources, a Managed Service for Kubernetes cluster, and node groups.
1. **Image migration**: Copy your container images to Yandex Container Registry.
1. **Stateful workload migration**: Migrate your data using Yandex Data Transfer or Velero.
1. **Stateless workload migration**: Export, adjust, and apply your manifests.
1. **Load balancers and DNS**: Configure Gwin, Network Load Balancer, and DNS switching.
1. **Final steps**: Test your new setup, clean up the source infrastructure, and archive backups.

## Required time and effort {#effort}

The time a migration may take depends on the size of your data, number of services to migrate, and your specific migration path. Here are the general estimates:

#|
|| **Scenario** | **Average scope** | **Estimated duration** ||
|| Public cloud to Yandex Cloud | Up to 10 services, up to 100 GB of data | 1–3 days ||
|| Public cloud to Yandex Cloud | 10 to 50 services, up to 1 TB of data | 1–2 weeks ||
|| Private cloud to Yandex Cloud | Up to 10 services, up to 100 GB of data | 2–5 days ||
|| Private cloud to Yandex Cloud | 10 to 50 services, up to 1 TB of data | 2–4 weeks ||
|| Hybrid cloud | Up to 10 services, up to 100 GB of data | 2–5 days ||
|| Hybrid cloud | 10 to 50 services, up to 1 TB of data | 2–4 weeks ||
|#

These estimates assume a team of two or three engineers. Timelines may increase for complex stateful workloads, non-standard network requirements, or regulatory constraints.

## Required tools {#tools}

#|
|| **Tool** | **Description** ||
|| [Gwin](https://github.com/yandex-cloud/gwin) | Gateway API controller for Yandex Application Load Balancer. Recommended for setting up an L7 load balancer. ||
|| [Velero](https://velero.io/) | Backup and recovery tool for persistent volumes ||
|| [Yandex Data Transfer](../../../data-transfer/index.md) | Data migration from managed databases ||
|| [Yandex Container Registry](../../../container-registry/index.md) | Storage for container images in Yandex Cloud ||
|| [Yandex Object Storage](../../../storage/index.md) | Storage for Velero backups and intermediate storage during migration ||
|| [Yandex Cloud DNS](../../../dns/index.md) | DNS record management when switching traffic ||
|#