OpenShift is a clear leader when it comes to Enterprise Kubernetes distributions. Organizations are moving…
August 18, 2020
How to migrate Kubernetes applications from Openshift 3 to Openshift 4
More and more applications are running on Kubernetes. Some applications are re-architected and migrated to Kubernetes from monoliths in VMs, and others are built and designed with containerization in mind from the start. Some of these applications will use persistent volumes in Kubernetes to store state, and others will run as horizontally-scaled stateless services. Regardless of how the application runs on Kubernetes, there is a common need to backup and restore the application for compliance or protection against unforeseen circumstances. Additionally, it is often necessary to plan how applications can easily be backed up and moved from one system to another—for instance, moving applications between Openshift versions, such as Openshift 3.11 to Openshift 4.5.
PX-Backup provides a solution for application mobility via backup and restore between Kubernetes versions, including managed offerings from Openshift, Rancher, AWS, Azure, and Google. PX-Backup provides this service for stateless and stateful services alike—even those using various types of storage, including Amazon EBS, Azure Disk. GCP Persistent Disk, and Portworx Enterprise Storage.
Reasons to migrate
Migrating applications from one major version of Kubernetes or a Kubernetes platform like Openshift Container Platform to another may happen for a variety of reasons:
- Increased developer adoption. Newer versions of orchestration platforms often include a variety of beneficial improvements and tools new teams may need.
- Improved security. Updates often include patches for various vulnerabilities that may not be supported by older versions.
- Reduced cost. Running multiple versions of a platform often includes increased capex and opex.
- Latest innovations. Developers and admins alike need to update out-of-date technologies or simply take advantage of the latest and greatest for existing applications.
So, what is the best way to perform this type of application migration? How do you minimize churn or complexity? Platform-specific migration tooling and scripting can often be complex and challenging to get right. PX-Backup provides a simplified view of application configuration, underlying storage, networking, and security for backup and migration. These can often be hurdles to overcome using a traditional migration process.
Abstracting the application for increased mobility
PX-Backup provides the mobility that applications require in order to move from one Kubernetes or Openshift version to another. Users can expect PX-Backup to capture an atomic view of their applications—including app config and data or even entire namespaces. PX-Backup will also take into account possible mutations needed when going from one version to the next and provide the following features and tools to perform Kubernetes or Openshift migrations:
- Capture an atomic view of an application, regardless of where and how it is deployed across Kubernetes.
- Provide centralized multi-tenant app mobility and backup tools for many clusters.
- Create application-consistent backups for backup reliability using pre and post backup rules.
- Create configurable schedules and policies for RPO and RTO requirements.
- Enable administrators and teams to move entire namespaces.
- Provide stateless and or Stateful application support.
- Provide heterogeneous Kubernetes version support.
- Provide custom CRD support.
Migrating from Openshift 3.11 to 4.5 using PX-Backup
Here is an example of migrating from OpenShift 3.11 to OpenShift 4.5. Applications on Openshift can safely be migrated from one cluster to another by backing up from one Openshift cluster and restoring to the other Openshift cluster.
> Note: Migrations and application mobility via PX-backup does not replace scenarios that need synchronous replication. If this type of movement is needed, this can be achieved via PX-DR. PX-Backup provides mobility from one cluster to another using on-demand or scheduled application snapshots. For synchronous data movement, use PX-DR.
PX-Backup understands differences between versions of Kubernees and OpenShift as well as allows custom transformations for less common requirements. Backup and restore can be done per application or by migrating one or more namespaces at a time. Simply take a backup of your application or namespace on Openshift 3 and select Openshift 4 as your restore target.