# Restore backups on Kubernetes

::: caution
AKO version 4.x or later does not support Aerospike Backup Service version 2.x. Upgrade to Aerospike Backup Service v3.0.0 or later. See [Upgrade ABS](https://aerospike.com/docs/kubernetes/tools/backup/upgrade-backup-service) for more information.
:::

## Overview

The Aerospike Backup Service (ABS) can trigger a restore from a Custom Resource (CR) that represents a restore configuration for an Aerospike cluster. We refer to this as an Aerospike Restore CR.

It supports `Full`, `Incremental` and `Timestamp` based restores. You can trigger the restore using `kubectl` or `helm`.

## Requirements

Before triggering a restore, deploy the ABS on your Kubernetes cluster using one of the following methods:

-   [kubectl](https://aerospike.com/docs/kubernetes/4.1.x/tools/backup/backup-service)
-   [Helm](https://aerospike.com/docs/kubernetes/4.1.x/tools/backup/backup-service-helm)

Once running, the ABS reads the CR file to trigger a restore.

## Create a restore

1.  Create your YAML-formatted CR file with the restore configuration you want to perform. See [restore configuration settings](https://aerospike.com/docs/kubernetes/4.1.x/tools/backup/restore-configuration) for details on the parameters available in the restore CR file.
    
    You can find a sample restore CR file in [the AKO GitHub repository](https://github.com/aerospike/aerospike-kubernetes-operator/tree/v4.1.2/config/samples).
    
    A restore is a one-time operation, so the restore CR cannot be updated. If you need to update the restore configuration, you must create a new restore CR.
    
2.  Use the CR YAML file you created to trigger a restore.
    
    ```plaintext
    kubectl apply -f aerospikerestore.yaml -n aerospike
    ```
    
3.  To verify the status of the restore, use the following command:
    
    ```plaintext
    kubectl get aerospikerestore RESTORE_NAME -n aerospike -oyaml
    ```
    
    The `status` field in the output shows the status of the restore operation.
    
    ```plaintext
    status:
    
      job-id: 6893789046818082912
    
      phase: Completed
    
      restoreResult:
    
        status: Done
    ```