sommai - Fotolia
Widespread adoption of containers has made Kubernetes a fixture in most organizations, which means Kubernetes backup is now a critical IT task.
The biggest challenge associated with Kubernetes backup is that Kubernetes environments are vastly different from traditional IT infrastructures. Backup methods that organizations have long relied on cannot protect Kubernetes clusters or the applications that run on Kubernetes. Although most backup application vendors now offer some degree of support for Kubernetes backup, those tools tend to be somewhat immature compared to traditional backup tools.
Here's a look at some top Kubernetes backup best practices, challenges and tool options.
All about the apps
One of the first best practices for Kubernetes backups is to focus on applications, not on servers. In a Kubernetes environment, there is no static mapping of applications to specific servers or VMs. Backups need to work in this highly dynamic model.
Agility is one of the main reasons organizations use containers. An organization can create a containerized application in a development environment and then move it to the production environment on premises or in the cloud. This underscores that organizations tend to adopt and retire containerized applications far more frequently than server-based applications.
A Kubernetes backup tool should be able to automatically detect newly deployed applications. Backup admins should tag or use a similar mechanism to identify applications, because some Kubernetes backup tools can back up and restore applications based on their tags.
Tags are just key-value pairs applied to various types of objects. The tag's only purpose is to make it easier for an admin to find certain objects.
In some organizations, admins assign tags to applications as a way of identifying them. Kubernetes environments often refer to tags as labels.
Choosing a Kubernetes backup product
There are a few critical things to look for in a Kubernetes backup tool. First, containers do much more now than host stateless applications. A Kubernetes backup product must be able to back up persistent volumes used by applications. The backup tool also needs to protect all other application components, such as configuration data and databases.
A backup product also needs the ability to restore a backup to a different Kubernetes cluster, if necessary. Clusters can and sometimes do fail, and when that happens, it is important to be able to recover an application to a cluster that is still functional.
An organization must be comfortable with whatever backup tool it uses. Some of the tools to back up Kubernetes environments are command-line utilities that require a deep understanding of the Kubernetes environment. Examples of these tools include Velero and Stash, which, when used together, can perform Kubernetes backups. There is nothing wrong with using these types of tools with the necessary technical expertise. However, organizations that adopt a simpler, GUI-based backup tool, such as those offered by Portworx and Druva, can prevent mistakes that may leave data unprotected.