Human Connection
docs-354-kubernetes_cron_job_for_backups
docs-354-kubernetes_cron_job_for_backups
  • Introduction
  • Edit this Documentation
  • Installation
  • Backend
    • GraphQL
  • Webapp
    • COMPONENTS
    • PLUGINS
    • STORE
    • PAGES
    • ASSETS
    • LAYOUTS
    • Styleguide
    • STATIC
    • MIDDLEWARE
  • Testing Guide
    • End-to-end tests
    • Frontend tests
    • Backend tests
  • Contributing
  • Kubernetes Deployment
    • Minikube
    • Digital Ocean
      • Kubernetes Dashboard
      • HTTPS
    • Human Connection
    • Volumes
      • Neo4J Offline-Backups
      • Volume Snapshots
      • Reclaim Policy
      • Velero
    • Legacy Migration
  • Feature Specification
  • Code of conduct
  • License
Powered by GitBook
On this page
  • Create a Volume Snapshot
  • Provision a Volume based on a Snapshot
  • Data Consistency Warning

Was this helpful?

  1. Kubernetes Deployment
  2. Volumes

Volume Snapshots

PreviousNeo4J Offline-BackupsNextReclaim Policy

Last updated 5 years ago

Was this helpful?

It is possible to backup persistent volumes through volume snapshots. This is especially handy if you don't want to stop the database to create an offline backup thus having a downtime.

Kubernetes announced this feature in a blog post. Please make yourself familiar with it before you continue.

Create a Volume Snapshot

There is an example in this folder how you can e.g. create a volume snapshot for the persistent volume claim neo4j-data-claim:

# in folder deployment/volumes/volume-snapshots/
kubectl apply -f snapshot.yaml

If you are on Digital Ocean the volume snapshot should show up in the Web UI:

Provision a Volume based on a Snapshot

Edit your persistent volume claim configuration and add a dataSource pointing to your volume snapshot. The blog post has an example in section "Provision a new volume from a snapshot with Kubernetes".

There is also an example in this folder how the configuration could look like. If you apply the configuration new persistent volume claim will be provisioned with the data from the volume snapshot:

# in folder deployment/volumes/volume-snapshots/
kubectl apply -f neo4j-data.yaml

Data Consistency Warning

Note that volume snapshots do not guarantee data consistency. Quote from the blog post:

Please note that the alpha release of Kubernetes Snapshot does not provide any consistency guarantees. You have to prepare your application (pause application, freeze filesystem etc.) before taking the snapshot for data consistency.

In case of Neo4J this probably means that enterprise edition is required which supports online backups.

Digital Ocean Web UI showing a volume snapshot