Skip to main content
Version: 2.0 πŸ†•

Backup & Schedules

Introduction ​

The Backup & Restore feature in Devtron helps you protect your Kubernetes workloads and data by allowing you to back up and restore your clusters, namespaces, or specific resources directly from the Devtron UI.

You can

  • Create on-demand or scheduled backups
  • Choose where your data is stored (such as AWS S3, Azure Blob, or GCP Storage)
  • Restore the backups to the same or another cluster when needed.

Whether you are preparing for disaster recovery, migrating environments, or ensuring business continuity, Devtron makes the process simple, reliable, and transparent while giving you complete visibility and control.


Prerequisites

Before creating a backup, make sure that at least one Backup Storage Location is configured and available. If no storage location is configured, backups cannot be created. Refer Backup Locations to learn more.

Creating Backup​

Who Can Perform This Action?

Users need to have super-admin permission to create a backup.

You can create a backup in Devtron to capture the current state of your Kubernetes clusters, namespaces, and resources.

  1. Go to Data Protection Management β†’ Backup & Schedule.

  2. Select Create Backup and select one of the following:

    OptionDescription
    From ScratchConfigure a new backup manually by defining the scope, storage, and snapshot settings
    From ScheduleTrigger a backup using an existing backup schedule configuration
    Create Backup ScheduleCreate a recurring backup policy to automatically perform backups at regular intervals

    From Scratch​

    After selecting From Scratch, a new modal window will open, enter the required details for each section

    1. Basic Details​

    FieldRequired / OptionalDescription
    Backup NameRequiredEnter a unique name for the backup to identify it in the list view
    LabelsOptionalAdd key-value pairs to organize and filter backups by environment, team, or purpose

    2. Backup Scope & Policy​

    FieldRequired / OptionalDescription
    Select Cluster to BackupRequiredChoose the Kubernetes cluster where the backup will be performed
    Namespaces to BackupRequiredDefine which namespaces to include in the backup
    • All Namespaces – Backs up all the namespaces in the cluster
    • All Production Environments - Backs up namespaces tagged as production
    • All Non-Production Environments - Backs up namespaces tagged as npn-production
    • Specific Namespaces - Select specific namespaces manually
    Resources to BackupOptionalChoose which Kubernetes resources to include
    • All Resources – Includes all resources
    • Specific Resources – Select Global, Cluster, or Namespace scoped resources
    Included Resources
    (Applicable for Specific Namespaces/Resources)
    OptionalSpecify namespaces or resource kinds to include, such as deployments or configmaps
    Excluded Resources
    (Applicable for Specific Namespaces/Resources)
    OptionalSpecify namespaces or resource kinds to exclude, such as secrets or events
    Backup TTLOptionalDefines how long the backup should be retained before it becomes eligible for garbage collection. You can specify a numeric value along with a time unit such as seconds, minutes, or hours
    Ordered ResourcesOptionalAllows you to define the order in which Kubernetes resources are backed up by specifying key value pairs. Resources listed here are processed in the defined order during backup creation
    Resources PolicyOptionalSpecifies the resource policies that the backup should follow. You can either select an existing ConfigMap containing the policy or provide the policy directly as YAML
    Filter resources using label selectorsOptionalFilters resources included in the backup using Kubernetes label selectors. Labels within the same group are evaluated using AND logic, while separate groups are evaluated using OR logic. Operators supported are Equals, In, NotIn,Exists,DoesNotExist

    3. Storage & Snapshot Location​

    FieldRequired / OptionalDescription
    Volume Snapshot LocationRequiredSelect where the volume snapshots will be stored. Each cloud provider supports one snapshot location per backup
    Storage LocationRequiredChoose the object storage target (for example, AWS S3, Azure Blob, GCP Storage) to store backup data and logs
    Snapshot OptionRequiredChoose how to handle volume data
    • Take Snapshot – Capture persistent volume data
    • Skip Volume Snapshot – Back up only resource manifests

    Snapshot Volume Settings (When Take Snapshot is selected)​

    FieldRequired / OptionalDescription
    Snapshot Move DataOptionalSpecify whether snapshot data should be moved after creation
    Default Volumes to FS BackupOptionalUse file system backup for all volumes instead of block-level snapshots
    Data MoverOptionalSelect the data mover for transferring snapshot data (for example, velero or kopia)
    Parallel Files UploadOptionalDefine the number of files uploaded in parallel. Applicable when using the kopia uploader

    4. Advanced Timeouts & Tuning​

    FieldRequired / OptionalDescription
    CSI Snapshot TimeoutOptionalSet the maximum time to wait for CSI snapshot creation before timing out (for example, 10m)
    Item Operation TimeoutOptionalDefine how long to wait for asynchronous plugin operations. Default is 72h
  3. After entering the required details, click Create Backup and a backup will be created.

From Schedule​

Note

A Backup Schedule is required to create a backup using the From Schedule option.
Refer to Creating Backup Schedule to learn how to configure and manage backup schedules in Devtron.

If you already have a backup schedule, you can create a backup from it without going through the configuration process again. This helps you quickly trigger a backup using the same configurations which are defined in the selected schedule.

  1. After selecting From Schedule, a new modal window will open. Enter the required details as described below.

  2. Enter the required information:

FieldRequired / OptionalDescription
Backup NameRequiredEnter a unique name for the backup. This name will help identify the backup in the list.
ScheduleRequiredSelect one of the existing schedules (for example, Daily Backup Schedule, Weekly Database Backup, Monthly Archive Schedule). The configurations from the selected schedule will automatically be used to create the backup.
  1. Click Create Backup, and the backup creation process will start.

Creating Backup Schedule​

Who Can Perform This Action?

Users need to have super-admin permission to create a backup.

A Backup Schedule helps you automate backups at regular intervals without having to manually create them every time.
It uses the same configuration options available in Creating a Backup, with a few additional fields that define when and how often the backup should run.

This makes it easier to ensure that your cluster data is always protected, even if you forget to trigger a backup manually.

After selecting Create Backup Schedule, a modal window opens where you can specify the schedule details along with your backup configuration.

Backup Schedule Specific Fields​

FieldRequired / OptionalDescription
Schedule NameRequiredEnter a unique name for the schedule. Backups created through this schedule use this name as a prefix
DescriptionOptionalProvide a short description to identify the purpose of the schedule
Backup Schedule (Cron Expression)RequiredDefine when backups should run (for example, daily at midnight or every 6 hours)
Pause ScheduleOptionalTemporarily disable the schedule without deleting it. Backups will not run until resumed
Skip Upcoming BackupOptionalSkips the next scheduled backup but keeps the schedule active
Delete Backups on Schedule DeletionOptionalAutomatically deletes backups created by this schedule when the schedule itself is removed
Backup TTLOptionalDefines how long each backup should be retained before it’s automatically deleted

Create Backup From Schedule​

If you do not want to wait for the scheduled backup to run, you can use From Schedule option to create an on-demand backup using an existing backup schedule.

When you create a backup from a schedule, Devtron reuses the same configuration already defined in the selected schedule and triggers the backup right away. This ensures the backup follows the same scope, policies, and storage settings without requiring you to configure them again.

FieldRequired / OptionalDescription
Backup NameRequiredSpecify a unique name for the backup that will be created from the selected schedule
ScheduleRequiredSelect an existing backup schedule. All configurations from this schedule will be used to create the backup

Viewing Backups and Backup Schedules​

Who Can Perform This Action?

Users need to have view permission to view backups.

Backups​

After you initiated the backup, you can find it under Backup tab. This tab shows all the backups weather they are created manually or via a backup-schedule.

ColumnDescription
NameDisplays the unique name of the backup. Click the name to view the backup details, and restore it
ClusterShows the cluster where the backup was taken
Created ByShows the user or backup schedule name that initiated the backup
StatusShows the current state of the backup:
  • Creating – Backup is in progress
  • Completed – Backup finished successfully
  • Failed – Backup failed
  • Partially Failed – Some resources were not backed up
  • Expired – The backup has reached its retention (TTL) limit
Backup DateShows the date and time of when the backup was created
Expires InShows the remaining time before the backup expires
SizeIndicates the total size of the backup stored in the configured location

You can use the Search bar or apply filters such as Cluster, Status, and Created By to quickly locate specific backups or narrow down the list based on: their current state, or who initiated them.

These filters help you quickly find backups for restore operations or verify recent backup activity across clusters.

Backup Schedules​

After creating a backup schedule, you can view it under Backup Schedules tab. This tab shows all the backup schedules and displays the following details for each of them

ColumnDescription
Schedule NameName of the backup schedule. Click to view or edit details
StatusIndicates the current state of the backup schedule:
  • New – The schedule has been created successfully but no backups have run yet. Once the first scheduled backup is executed, the status changes to Active
  • Active – The schedule is valid and enabled. Backups are automatically triggered at the defined intervals based on the configured cron expression
  • Paused – The schedule is temporarily disabled. No backups will run until the schedule is resumed manually
  • Failed Validation – The schedule configuration is invalid due to missing or incorrect parameters (for example, an invalid cron expression, unavailable cluster, or deleted storage location). Backups will not run until the issue is resolved, and the schedule is validated again
ClusterShows the cluster associated with the schedule
Storage LocationDisplays the storage target (for example, AWS S3, Azure Blob, or GCP Storage)
CronThe cron expression defining how frequently the backup runs (for example, Every 6 hours)
Last BackupThe timestamp of the last backup triggered by this schedule
Last SkippedDisplays when the schedule last skipped a run (if applicable)

Delete Backups and Backup Schedules​

Who Can Perform This Action?

Users need to have super-admin permission to delete backups.

To delete a backup or backup schedule, click the delete icon next to it. The selected backup or schedule will be deleted.