New to KubeStash? Please start here.

KubeStash Backends

BackupStorage

KubeStash supports various backends for storing backup data. It can be a cloud storage like GCS bucket, AWS S3, Azure Blob Storage etc. or a Kubernetes persistent volume like HostPath, PersistentVolumeClaim, NFS etc.

The following diagram shows how KubeStash operator and backup container accesses and backs up data into a backend.

KubeStash Backend Overview
Fig: KubeStash Backend Overview

The Backend process works in the following steps:

  • At first user creates a BackupStorage object that contains the backend information along with a Secret object containing the corresponding backend credentials required for accessing the backend.
  • KubeStash operator watches for BackupStorage custom resources and Secrets. When it finds a BackupStorage object, it initializes the storage by uploading the metadata.yaml file.

Below, a screenshot that shows initialization of a BackupStorage in a GCS bucket named kubestash-qa:

  BackupStorage initialization in GCS Backend
Fig: BackupStorage initialization in GCS Backend

Here, kubestash-qa serves as the bucket name, and the presence of metadata.yaml indicates the successful initialization of the BackupStorage.

Next Steps

  • Learn how to configure Kubernetes Volume as backend from here.
  • Learn how to configure AWS S3/Minio/Rook backend from here.
  • Learn how to configure Google Cloud Storage (GCS) backend from here.
  • Learn how to configure Microsoft Azure Storage backend from here.