You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* **Configuration**: Set `cloudProvider` to `aws`, `gcp`, or `azure`
18
+
Neo4j Helm chart uses Neo4j's native cloud storage integration with direct upload to create immutable backup objects.
19
+
This allows you to back up your Neo4j databases directly to cloud storage without the need for persistent volumes.
20
+
The chart can be configured to use cloud providers, such as AWS S3, Google Cloud Storage, and Azure Blob Storage, by setting the `cloudProvider` parameter to `aws`, `gcp`, or `azure` in the _backup-values.yaml_ file.
22
21
23
-
=== Local mode
24
-
Creates local backups in `/backups` mount:
22
+
The following features are supported:
25
23
26
-
* **Requirements**: Persistent storage for large databases (configured via `tempVolume`)
27
-
* **Configuration**: Leave `cloudProvider` empty
24
+
* *Direct cloud storage upload* - No intermediate local storage required.
25
+
* *Differential backup chains* with `preferDiffAsParent: true`.
26
+
* *Immutable backup objects* in cloud storage.
27
+
* *Support for S3-compatible endpoints*.
28
+
* *Enhanced S3 configuration* including custom CA certificates and endpoint settings.
28
29
29
-
[[kubernetes-cloud-native-features]]
30
-
== Cloud-native backup features
30
+
=== Local storage
31
31
32
-
When using cloud providers, Neo4j's native backup provides:
33
-
34
-
* **Direct cloud storage upload** - No intermediate local storage required
35
-
* **Differential backup chains** with `preferDiffAsParent: true`
36
-
* **Immutable backup objects** in cloud storage
37
-
* **Support for S3-compatible endpoints**
38
-
* **Enhanced S3 configuration** including custom CA certificates and endpoint settings
39
-
40
-
[[kubernetes-differential-backups]]
41
-
== Differential backups
42
-
43
-
For cloud providers, differential backups eliminate the need for persistent volumes:
44
-
45
-
[source, yaml, subs="attributes+,+macros"]
46
-
----
47
-
backup:
48
-
cloudProvider: "aws"
49
-
bucketName: "my-backups"
50
-
preferDiffAsParent: true
51
-
type: "AUTO" # First backup will be FULL, subsequent ones DIFF
52
-
fallbackToFull: true # Fallback to FULL if DIFF fails
53
-
----
54
-
55
-
**How it works:**
56
-
57
-
1. First backup creates a FULL backup in cloud storage
58
-
2. Subsequent backups create DIFF backups that reference the cloud-stored FULL backup
59
-
3. No local storage of previous backups required
60
-
61
-
[NOTE]
62
-
====
63
-
**`preferDiffAsParent` is fully supported and eliminates the need for persistent volumes!**
* **Cloud-Native**: DIFF backups reference cloud-stored FULL backups directly
67
-
* **No PV Required**: Previous backups don't need to be stored locally
68
-
====
32
+
Local storage creates local backups in the `/backups` mount.
33
+
This mount must be configured to use a persistent storage for large databases using `tempVolume`.
34
+
The `cloudProvider` must be empty.
69
35
70
36
[[kubernetes-neo4j-backup-cloud]]
71
37
== Prepare to back up a database(s) to a cloud provider (AWS, GCP, and Azure) bucket
@@ -91,6 +57,12 @@ For more information, see link:https://min.io/docs/minio/linux/integrations/aws-
91
57
* The latest Neo4j Helm charts.
92
58
You can update the repository to get the latest charts using `helm repo update`.
93
59
60
+
[NOTE]
61
+
====
62
+
When using cloud providers, differential backups do not require persistent volumes with previous backups.
63
+
Instead, the chart will first create a full backup in the cloud storage, and then, the subsequent backups will be differential backups that reference this full backup.
64
+
====
65
+
94
66
=== Create a Kubernetes secret
95
67
96
68
You can create a Kubernetes secret with the credentials that can access the cloud provider bucket using one of the following options:
@@ -366,7 +338,8 @@ tempVolume:
366
338
367
339
[NOTE]
368
340
====
369
-
You need to create the persistent volume and persistent volume claim before installing the _neo4j-admin_ Helm chart.
341
+
You need to create the persistent volume and persistent volume claim before installing the _neo4j-admin_ Helm chart only when using local storage.
342
+
When using cloud providers, persistent volumes are not required for differential backups.
370
343
For more information, see xref:kubernetes/persistent-volumes.adoc[Volume mounts and persistent volumes].
371
344
====
372
345
@@ -508,7 +481,7 @@ When configuring the _backup-values.yaml_ file, keep the “cloudProvider” fie
508
481
509
482
[NOTE]
510
483
====
511
-
You need to create the persistent volume and persistent volume claim before installing the _neo4j-admin_ Helm chart.
484
+
You need to create the persistent volume and persistent volume claim before installing the _neo4j-admin_ Helm chart only when using local storage.
512
485
For more information, see xref:kubernetes/persistent-volumes.adoc[Volume mounts and persistent volumes].
513
486
====
514
487
@@ -1081,15 +1054,17 @@ To restore the `system` database, follow the steps described in xref:kubernetes/
1081
1054
====
1082
1055
1083
1056
[[kubernetes-backup-migration]]
1084
-
== Migration from traditional to cloud-native backups
1057
+
== Migrate from traditional to cloud-native backups
1085
1058
1086
1059
To migrate from persistent volume-based backups to cloud-native:
1087
1060
1088
-
1. **Perform final traditional backup**
1089
-
2. **Upload existing backups to cloud storage** (if needed)
1090
-
3. **Update configuration** to use cloud provider
1091
-
4. **Remove persistent volume configuration**
1092
-
5. **Enable `preferDiffAsParent`** for future differential backups
1061
+
1. **Perform a final traditional backup** to ensure you have the latest data.
1062
+
For more information, see <<kubernetes-neo4j-backup-on-prem, Prepare to back up a database(s) to on-premises storage>> and <<kubernetes-neo4j-backup, Back up your databases>>.
1063
+
2. **Upload existing backups to the cloud storage bucket** if needed.
1064
+
You can use cloud provider CLI tools such as `aws s3 cp`, `gsutil cp`, or `az storage blob upload` to transfer your backup files.
1065
+
3. **Update configuration** to use cloud provider by setting the `cloudProvider` parameter.
1066
+
4. **Remove persistent volume configuration** from your _backup-values.yaml_ file.
1067
+
5. **Enable `preferDiffAsParent`** for future differential backups.
0 commit comments