Introducing ReShifter for Kubernetes: Backup, Restore, Migrate, Upgrade
June 27, 2017 | by
This article is also posted on Hacker Noon, where I talk about projects that I work on in the Kubernetes space. Keep in mind this is something I am working on in my spare time for Kubernetes as an open source project.
TL;DR: If you’re using Kubernetes beyond dev/test, that is, in production, you need a strategy for restoring and upgrading clusters. ReShifter is a WIP aiming at supporting you with these operations.
Are you using Kubernetes beyond development and testing, in a production setup? Would you like to be able to back up and restore your entire Kubernetes cluster (automatically) and restore it with a single action? What about upgrading to a new version of Kubernetes? Can you do this without downtimes? If you found yourself nodding along and/or answering "Yes" to any of the above questions, do read on.
You won't have issues with restoring cluster state or upgrading to a new Kubernetes version in managed environments such as GKE or OpenShift Online, but you will encounter this challenge when you’re operating the cluster yourself in on-premises setups or deployments into the public cloud.
Having said this, meet ReShifter, the cluster admin backup and restore tool for Kubernetes and OpenShift. Note that ReShifter is early days, at time of writing it's not more than an MVP with minimal functionality. Major parts such as installation, setting up in cluster, running scheduled backups and many more are still missing. However, I decided to share ReShifter with you now because I need and want your feedback: What functionality is the most important one to you? What is missing for a 1.0 release? Please leave a comment here, on GitHub, at the screen cast on Loom, or hit me up on Twitter.
What I have in the ReShifter MVP so far is:
A simple, but more or less stable, HTTP API
A bare-bone UI
Support for insecure and secure etcd v2 and etcd v3
Can create a cluster backup, stored in local filesystem
In distributed computing, where processing and data are spread over multiple computers—usually over a network—what’s important is the ability to migrate distributed environments, or any environment, ...