Skip to content

sighupio/module-dr

Repository files navigation

Shows a black logo in light color mode and a white one in dark color mode.
Disaster Recovery Module

Release License Slack

Disaster Recovery Module implements backups and disaster recovery for SIGHUP Distribution (SD).

If you are new to SD please refer to the official documentation on how to get started with SD.

Overview

Disaster Recovery Module is based on Velero (with Velero Node Agent for volume backups) and on etcd backups.

Velero allows you to back up and restore your cluster resources and persistent volumes, migrate resources between clusters, and replicate your production environment to development and testing environments. When the snapshot-controller is enabled, CSI Snapshot Data Movement provides consistent backups of volume data to a backup storage location.

The etcd backup packages snapshot the cluster's etcd database to an S3 bucket or to a PersistentVolumeClaim, on self-managed clusters where you control etcd.

The module also includes Velero plugins to integrate natively with different cloud providers and use their object storage as the backup backend.

Packages

Disaster Recovery Module provides the following packages:

Package Version Description
velero v1.18.1 Backup and restore, perform disaster recovery, and migrate Kubernetes cluster resources and persistent volumes.
etcd-backup-s3 homegrown Backup etcd on a remote S3 bucket.
etcd-backup-pvc homegrown Backup etcd on a PersistentVolumeClaim.

The velero package contains the following additional components:

Component Description
velero-base Common Velero components shared by all backends.
velero-node-agent Incremental backup and restore of Kubernetes volumes.
velero-schedules Common schedules for backup.
snapshot-controller Enables CSI Snapshot Data Movement support.
velero-aws Plugin to support running Velero on AWS.
velero-gcp Plugin to support running Velero on GCP.
velero-azure Plugin to support running Velero on Azure.
velero-on-prem In-cluster MinIO object storage backend for on-premises clusters.

The following Terraform modules provision the cloud infrastructure used to persist the backups natively in cloud providers' object storage:

Terraform Module Description
aws-velero Creates AWS resources and Kubernetes CRDs to persist backups.
azure-velero Creates Azure resources and Kubernetes CRDs to persist backups.
gcp-velero Creates GCP resources and Kubernetes CRDs to persist backups.

Click on each package to see its full documentation.

Compatibility

Kubernetes Version Compatibility Notes
1.33.x No known issues
1.34.x No known issues
1.35.x No known issues

Check the compatibility matrix for additional information about previous releases of the modules.

Usage

Disaster Recovery Module is part of SIGHUP Distribution (SD) and is deployed automatically by furyctl when you create or update a cluster. You don't need to download, vendor or install its packages manually.

Configuration

You configure the module under spec.distribution.modules.dr in your furyctl.yaml. The type field selects whether disaster recovery is enabled: none to disable it, or the value matching your cluster kind — eks on EKSCluster, on-premises on KFDDistribution and OnPremises. The velero.backend field selects the storage backend for the backups (minio, externalEndpoint or gcs). The other fields are optional and fall back to sensible defaults.

apiVersion: kfd.sighup.io/v1alpha2
kind: KFDDistribution
spec:
  distribution:
    modules:
      dr:
        type: on-premises
        velero:
          backend: minio

See the configuration reference for your cluster kind for the full list of available options: EKSCluster, KFDDistribution or OnPremises.

To install SD from scratch, follow the Getting started guide.

Contributing

Before contributing, please read first the Contributing Guidelines.

Reporting Issues

In case you experience any problem with the module, please open a new issue.

License

This module is open-source and it's released under the following LICENSE.

About

Disaster Recovery Module: backups and disaster recovery for your Kubernetes Cluster

Resources

License

Contributing

Stars

9 stars

Watchers

9 watching

Forks

Contributors