backup-restore-operator

command module
v0.0.1-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2020 License: Apache-2.0 Imports: 21 Imported by: 0

README

Backup and Restore Operator

Description
  • This operator provides ability to backup and restore Kubernetes applications (metadata) running on any cluster. It accepts a list of resources that need to be backed up for a particular application. It then gathers these resources by querying the Kubernetes API server, packages all the resources to create a tarball file and pushes it to the configured backup storage location. Since it gathers resources by quering the API server, it can back up applications from any type of Kubernetes cluster.
  • The operator preserves the ownerReferences on all resources, hence maintaining dependencies between objects.
  • It also provides encryption support, to encrypt user specified resources before saving them in the backup file. It uses the same encryption configuration that is used to enable Kubernetes Encryption at Rest. Follow the steps in [documentation link TBD] to configure this.

CRDs

It installs the following cluster-scoped CRDs:

Backup

A backup can be performed by creating an instance of the Backup CRD. It can be configured to perform a one-time backup, or to schedule recurring backups.

Restore

Creating an instance of the Restore CRD lets you restore from a backup file.

ResourceSet

ResourceSet specifies the Kubernetes core resources and CRDs that need to be backed up. This chart comes with a predetermined ResourceSet to be used for backing up Rancher application


User flow
  1. Create a ResourceSet, that targets all the resources you want to backup. The ResourceSet required for backing up Rancher will be provided and installed by the chart. Refer to the default rancher-resource-set as an example for creating resourceSets
  2. Performing a backup: To take a backup, user has to create an instance of the Backup CRD (create a Backup CR). Each Backup CR must reference a ResourceSet. A Backup CR can be used to perform a one-time backup or recurring backups. Refer examples folder for sample manifests
  3. Restoring from a backup: To restore from a backup, user has to create an instance of the Restore CRD (create a Restore CR). A Restore CR must contain the exact Backup filename. Refer examples folder for sample manifests

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
apis/resources.cattle.io/v1
+k8s:deepcopy-gen=package +groupName=some.api.group +k8s:deepcopy-gen=package +groupName=resources.cattle.io +k8s:deepcopy-gen=package +groupName=resources.cattle.io
+k8s:deepcopy-gen=package +groupName=some.api.group +k8s:deepcopy-gen=package +groupName=resources.cattle.io +k8s:deepcopy-gen=package +groupName=resources.cattle.io
tests module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL