Skip to content

Commit 31cbf48

Browse files
authored
Merge pull request #8124 from ovh/feat-migration-guide-kube
feat(kubernetes): create guide about migration about external
2 parents 27134c3 + 4e0693f commit 31cbf48

File tree

12 files changed

+208
-8
lines changed

12 files changed

+208
-8
lines changed

pages/index-translations.de.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public-cloud-containers-orchestration-managed-kubernetes-k8s: Managed Kubernetes
111111
public-cloud-containers-orchestration-managed-kubernetes-k8s-getting-started: Getting started
112112
public-cloud-containers-orchestration-managed-kubernetes-k8s-troubleshooting: Troubleshooting
113113
public-cloud-containers-orchestration-managed-kubernetes-k8s-network: Network
114-
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup and Restore
114+
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup, Restore and Migrate
115115
public-cloud-containers-orchestration-managed-kubernetes-k8s-observability-monitoring: Monitoring & Observability
116116
public-cloud-containers-orchestration-managed-kubernetes-k8s-traffic-management: Traffic management
117117
public-cloud-containers-orchestration-managed-kubernetes-k8s-storage: Storage

pages/index-translations.es.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public-cloud-containers-orchestration-managed-kubernetes-k8s: Managed Kubernetes
111111
public-cloud-containers-orchestration-managed-kubernetes-k8s-getting-started: Getting started
112112
public-cloud-containers-orchestration-managed-kubernetes-k8s-troubleshooting: Troubleshooting
113113
public-cloud-containers-orchestration-managed-kubernetes-k8s-network: Network
114-
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup and Restore
114+
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup, Restore and Migrate
115115
public-cloud-containers-orchestration-managed-kubernetes-k8s-observability-monitoring: Monitoring & Observability
116116
public-cloud-containers-orchestration-managed-kubernetes-k8s-traffic-management: Traffic management
117117
public-cloud-containers-orchestration-managed-kubernetes-k8s-storage: Storage

pages/index-translations.fq.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public-cloud-containers-orchestration-managed-kubernetes-k8s: Managed Kubernetes
111111
public-cloud-containers-orchestration-managed-kubernetes-k8s-getting-started: Getting started
112112
public-cloud-containers-orchestration-managed-kubernetes-k8s-troubleshooting: Troubleshooting
113113
public-cloud-containers-orchestration-managed-kubernetes-k8s-network: Network
114-
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup and Restore
114+
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup, Restore and Migrate
115115
public-cloud-containers-orchestration-managed-kubernetes-k8s-observability-monitoring: Monitoring & Observability
116116
public-cloud-containers-orchestration-managed-kubernetes-k8s-traffic-management: Traffic management
117117
public-cloud-containers-orchestration-managed-kubernetes-k8s-storage: Storage

pages/index-translations.fr.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public-cloud-containers-orchestration-managed-kubernetes-k8s: Managed Kubernetes
112112
public-cloud-containers-orchestration-managed-kubernetes-k8s-getting-started: Getting started
113113
public-cloud-containers-orchestration-managed-kubernetes-k8s-troubleshooting: Troubleshooting
114114
public-cloud-containers-orchestration-managed-kubernetes-k8s-network: Network
115-
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup and Restore
115+
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup, Restore and Migrate
116116
public-cloud-containers-orchestration-managed-kubernetes-k8s-observability-monitoring: Monitoring & Observability
117117
public-cloud-containers-orchestration-managed-kubernetes-k8s-traffic-management: Traffic management
118118
public-cloud-containers-orchestration-managed-kubernetes-k8s-storage: Storage

pages/index-translations.it.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public-cloud-containers-orchestration-managed-kubernetes-k8s: Managed Kubernetes
111111
public-cloud-containers-orchestration-managed-kubernetes-k8s-getting-started: Getting started
112112
public-cloud-containers-orchestration-managed-kubernetes-k8s-troubleshooting: Troubleshooting
113113
public-cloud-containers-orchestration-managed-kubernetes-k8s-network: Network
114-
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup and Restore
114+
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup, Restore and Migrate
115115
public-cloud-containers-orchestration-managed-kubernetes-k8s-observability-monitoring: Monitoring & Observability
116116
public-cloud-containers-orchestration-managed-kubernetes-k8s-traffic-management: Traffic management
117117
public-cloud-containers-orchestration-managed-kubernetes-k8s-storage: Storage

pages/index-translations.pl.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public-cloud-containers-orchestration-managed-kubernetes-k8s: Managed Kubernetes
111111
public-cloud-containers-orchestration-managed-kubernetes-k8s-getting-started: Getting started
112112
public-cloud-containers-orchestration-managed-kubernetes-k8s-troubleshooting: Troubleshooting
113113
public-cloud-containers-orchestration-managed-kubernetes-k8s-network: Network
114-
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup and Restore
114+
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup, Restore and Migrate
115115
public-cloud-containers-orchestration-managed-kubernetes-k8s-observability-monitoring: Monitoring & Observability
116116
public-cloud-containers-orchestration-managed-kubernetes-k8s-traffic-management: Traffic management
117117
public-cloud-containers-orchestration-managed-kubernetes-k8s-storage: Storage

pages/index-translations.pt.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public-cloud-containers-orchestration-managed-kubernetes-k8s: Managed Kubernetes
111111
public-cloud-containers-orchestration-managed-kubernetes-k8s-getting-started: Getting started
112112
public-cloud-containers-orchestration-managed-kubernetes-k8s-troubleshooting: Troubleshooting
113113
public-cloud-containers-orchestration-managed-kubernetes-k8s-network: Network
114-
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup and Restore
114+
public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore: Backup, Restore and Migrate
115115
public-cloud-containers-orchestration-managed-kubernetes-k8s-observability-monitoring: Monitoring & Observability
116116
public-cloud-containers-orchestration-managed-kubernetes-k8s-traffic-management: Traffic management
117117
public-cloud-containers-orchestration-managed-kubernetes-k8s-storage: Storage

pages/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1023,12 +1023,13 @@
10231023
+ [Installing a FaaS platform on OVHcloud Managed Kubernetes using OpenFaaS](public_cloud/containers_orchestration/managed_kubernetes/installing-openfaas)
10241024
+ [Run Serverless containers on OVHcloud Managed Kubernetes with Knative](public_cloud/containers_orchestration/managed_kubernetes/installing-knative)
10251025
+ [Deploying Artifactory on an OVHcloud Managed Kubernetes cluster](public_cloud/containers_orchestration/managed_kubernetes/installing-artifactory)
1026-
+ [Backup and Restore](public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore)
1026+
+ [Backup, Restore and Migrate](public-cloud-containers-orchestration-managed-kubernetes-k8s-backup-and-restore)
10271027
+ [Backup and Restore OVHcloud Managed Kubernetes Cluster, Namespace and Applications using TrilioVault for Kubernetes](public_cloud/containers_orchestration/managed_kubernetes/backup-and-restore-cluster-namespace-and-applications-with-trilio)
10281028
+ [Backing-up an OVHcloud Managed Kubernetes cluster using CloudCasa](public_cloud/containers_orchestration/managed_kubernetes/backup-and-restore-cluster-using-cloudcasa)
10291029
+ [Backing up and restoring your Persistent Volume with Volume Snapshots on OVHcloud Managed Kubernetes](public_cloud/containers_orchestration/managed_kubernetes/backup-restore-pv-volume-snapshot)
10301030
+ [Backing-up an OVHcloud Managed Kubernetes cluster using Velero](public_cloud/containers_orchestration/managed_kubernetes/backing-up-cluster-with-velero)
10311031
+ [Backing-up Persistent Volumes using Stash](public_cloud/containers_orchestration/managed_kubernetes/backing-up-volumes-using-stash)
1032+
+ [Migration Guide – Moving Your Kubernetes Cluster to OVHcloud](public_cloud/containers_orchestration/managed_kubernetes/migration-to-ovhcloud)
10321033
+ [Monitoring & Observability](public-cloud-containers-orchestration-managed-kubernetes-k8s-observability-monitoring)
10331034
+ [Monitoring apps with Prometheus and Grafana on an OVHcloud Managed Kubernetes Service](public_cloud/containers_orchestration/managed_kubernetes/monitoring-apps-grafana-prometheus)
10341035
+ [Collect metrics from PCI instances with Prometheus on an OVHcloud Managed Kubernetes Service](public_cloud/containers_orchestration/managed_kubernetes/monitoring-pci-instances-prometheus)
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
title: Migration Guide – Moving Your Kubernetes cluster to OVHcloud
3+
excerpt: Learn how to effectively migrate your Kubernetes cluster from an external provider to OVHcloud, leveraging its features and flexibility.
4+
updated: 2025-08-19
5+
---
6+
7+
## Objective
8+
9+
This guide outlines the process of migrating your Kubernetes cluster from an external provider to OVHcloud Managed Kubernetes. It provides a step-by-step walkthrough to help you seamlessly transfer your applications and data, ensuring minimal downtime and a smooth transition.
10+
11+
We will cover the essential phases of migration, including:
12+
13+
- Backup and Restore: Utilizing Velero for efficient data transfer.
14+
- Cluster Provisioning: Selecting and deploying your new Kubernetes cluster on OVHcloud.
15+
- Post-Migration Validation: Ensuring your applications are fully functional on the new environment.
16+
17+
This guide is designed to provide you with the necessary knowledge to successfully manage the migration of your Kubernetes environment. For complex scenarios or specialized assistance, the OVHcloud [Professional Services](/links/professional-services) team is available to provide expert support.
18+
19+
## Requirements
20+
21+
To successfully migrate your Kubernetes cluster to OVHcloud, ensure you have the following in place:
22+
23+
- **Velero setup:** Velero, along with its Helm chart, should be installed and configured on your source Kubernetes cluster. It's crucial that Velero is connected to an OVHcloud S3<sup>1</sup>-compatible Object Storage endpoint for backup storage. You can find detailed instructions for Velero installation and configuration in the official [Velero Helm chart documentation](https://github.com/vmware-tanzu/helm-charts/blob/main/charts/velero/README.md).
24+
- **OVHcloud S3-compatible Endpoint:** Ensure your Velero setup correctly references the OVHcloud S3-compatible endpoints as the BackupStorageLocation. If you encounter any difficulties with these settings, don't hesitate to reach out to our [Professional Services experts](/links/professional-services) for assistance.
25+
- **kubectl:** You'll need the kubectl command-line tool installed to interact with your Kubernetes clusters. Refer to the [official Kubernetes documentation](https://kubernetes.io/docs/tasks/tools/) for installation instructions.
26+
27+
## Instructions
28+
29+
The following diagram illustrates the complete migration journey from your existing Kubernetes environment to OVHcloud. This visual roadmap provides a clear understanding of each phase involved in transferring your cluster.
30+
31+
![Migration of a Kubernetes to OVHcloud](images/migration_schema.png){.thumbnail}
32+
33+
Let's now dive into the detailed steps for migrating your Kubernetes cluster to OVHcloud:
34+
35+
1. **Install and Configure Velero with OVHcloud S3**
36+
37+
Ensure the Velero Helm chart is installed on your Kubernetes cluster and configured to use the OVHcloud S3-compatible storage.
38+
39+
2. **Back up your cluster using Velero**
40+
41+
- Refer to the [official Velero documentation on backup reference](https://velero.io/docs/v1.16/backup-reference/) to back up your Kubernetes manifests and Persistent Volume Claims (PVCs).
42+
- Ensure that all backups are successfully stored in your configured OVHcloud Object Storage.
43+
44+
3. **Create your target Kubernetes cluster on OVHcloud**
45+
46+
- Follow the instructions in the OVHcloud documentation for [creating a Kubernetes cluster](/pages/public_cloud/containers_orchestration/managed_kubernetes/creating-a-cluster).
47+
- Choose your preferred deployment mode and proceed with the cluster creation.
48+
- **Optional:** OVHcloud [Professional Services](/links/professional-services) can assist you in creating an Infrastructure-as-Code script for your new Kubernetes deployment using OpenTofu, streamlining the provisioning process.
49+
50+
4. **Pick a flavour and node pool for your new OVHcloud cluster**
51+
52+
- **Size your worker nodes:** Carefully assess your existing architecture's CPU and RAM requirements and select OVHcloud node flavors that match these specifications.
53+
- **Replicate network setup:** Ensure your new cluster's network configuration mirrors your original cluster (e.g., private nodes on a private subnet, dedicated outbound gateway).
54+
- **Choose deployment mode:** Select a deployment mode (e.g., 1AZ or 3AZ) based on your fault tolerance needs and high availability requirements.
55+
56+
5. **Deploy Velero Helm chart on the new cluster**
57+
58+
- On your newly created OVHcloud Kubernetes cluster, deploy the Velero Helm chart. To do this, you can follow this [guide](/pages/public_cloud/containers_orchestration/managed_kubernetes/backing-up-cluster-with-velero).
59+
- It is essential to configure Velero to use the same OVHcloud S3-compatible endpoint where your existing backups are stored. This action will automatically make your backup resources available to the new cluster.
60+
61+
6. **Restore your backups onto the new cluster**
62+
63+
- Utilize the Velero CLI to restore all your previous backups onto the new cluster. Refer to the Velero [documentation on file system backup](https://velero.io/docs/v1.16/file-system-backup/) for detailed commands.
64+
- Before restoring, set your application to maintenance mode on the source cluster to prevent data inconsistencies during the transition.
65+
- After restoration, carefully update all your DNS records to point to the new cluster's services.
66+
- Ensure your ingress controllers and Load Balancers are properly configured and ready on the new cluster.
67+
- Map the source cluster's storage class to the target cluster's equivalent using [Velero configuration](https://velero.io/docs/v1.16/restore-reference/) if your storage classes differ between environments.
68+
- **Optional:** If the deployment process appears overly complex, or if you require assistance with migration and rollback strategies, reach out to the OVHcloud [Professional Services](/links/professional-services) team.
69+
70+
7. **Run integration tests to ensure restore is complete**
71+
72+
- Execute all your application's integration tests on the new target cluster.
73+
- Thoroughly verify the health and functionality of your applications after the deployment.
74+
- If any issue is detected, be prepared to roll back to your source cluster if necessary.
75+
76+
8. **Seek Professional Services assistance (if needed)**
77+
78+
If certain resources from your source cluster are particularly complex or require specialized knowledge for migration, the OVHcloud Professional Services team is available to provide expert assistance. You can find more information about their services [here](/links/professional-services).
79+
80+
9. **Set up Saving Plans (if needed)**
81+
82+
Explore the option of [OVHcloud Saving Plans](/pages/public_cloud/public_cloud_cross_functional/savings_plans) to optimize your cloud costs. Learn more about the available Saving Plans to determine if they align with your financial strategy.
83+
84+
10. **Decommission your source cluster**
85+
86+
After fully confirming that your applications are running reliably and without issues on the new OVHcloud Kubernetes cluster, you can safely decommission your source cluster.
87+
88+
## Go further
89+
90+
To have an overview of the OVHcloud Managed Kubernetes service, visit the [OVHcloud Managed Kubernetes page](/links/public-cloud/kubernetes).
91+
92+
To deploy your first application on your Kubernetes cluster, we invite you to follow our guides to [configure default settings for kubectl](/pages/public_cloud/containers_orchestration/managed_kubernetes/configuring-kubectl-on-an-ovh-managed-kubernetes-cluster) and to [deploy a Hello World application](/pages/public_cloud/containers_orchestration/managed_kubernetes/deploying-hello-world).
93+
94+
If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](/links/professional-services) to get a quote and ask our Professional Services experts for a custom analysis of your project.
95+
96+
Join our [community of users](/links/community).
97+
98+
<sup>1</sup>: S3 is a trademark of Amazon Technologies, Inc. OVHcloud’s service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies, Inc.

0 commit comments

Comments
 (0)