Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@
** xref:hazelcast-parameters.adoc[System properties]
** xref:custom-config.adoc[Custom configuration]
** xref:jvm-parameters.adoc[JVM parameters]
** xref:mount-pvc.adoc[Mount PVC on a cluster]

* Management Center
** xref:management-center-clusters.adoc[Hazelcast clusters]
Expand Down
41 changes: 41 additions & 0 deletions docs/modules/ROOT/pages/mount-pvc.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
= Mount Persistent Volume Claims for Hazelcast clusters
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
= Mount Persistent Volume Claims for Hazelcast clusters
= Mount Persistent Volume Claims (PVCs) for Hazelcast clusters

WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the first line explains this "You can mount one or more Persistent Volume Claims (PVCs) directly to your Hazelcast cluster" and in the interest of keeping the headings short, I think it's best to leave as is


You can mount one or more Persistent Volume Claims (PVCs) directly to your Hazelcast cluster. Each PVC defined in the `persistenceVolumeClaims` section will be mounted under the path `/data/<name-of-pvc>`. This approach allows you to use PVCs for any Hazelcast feature that requires persistent storage, simply by referencing the PVC by its name.

== How it works

- Define one or more PVCs in the `persistenceVolumeClaims` section of your Hazelcast custom resource (CR).
- Each PVC will be mounted at `/data/<name>`, where `<name>` is the value of the name field in your PVC configuration.
- Features that require persistent storage (such as diagnostics, persistence, or the CP Subsystem) can reference the PVC by specifying its name, using the appropriate field (e.g., `pvcName`).

This mechanism decouples the PVC definition from feature configuration, making it easier to manage and reuse storage across different Hazelcast features.

For more information, see the xref:api-ref.adoc#[API]. For a tutorial on enabling persistence, see link:https://docs.hazelcast.com/hazelcast/latest/getting-started/persistence[Persist Map Entries on Disk]

== Example: Configure diagnostics with a named PVC

Below is an example configuration that shows how to define a PVC and use it for diagnostics logging by specifying the `pvcName` field. The diagnostics logs will be stored in the PVC mounted at `/data/diagnostics-pvc-volume`.

[source,yaml]
----
apiVersion: hazelcast.com/v1alpha1
kind: Hazelcast
metadata:
name: hazelcast
spec:
clusterSize: 3
repository: 'docker.io/hazelcast/hazelcast-enterprise'
version: 5.6.0-SNAPSHOT
licenseKeySecretName: hazelcast-license-key
diagnostics:
outputType: STDOUT
maxRolledFileCount: 10
maxRolledFileSize: '50M'
pvcName: diagnostics-pvc-volume
persistenceVolumeClaims:
- accessModes: [ "ReadWriteOnce" ]
requestStorage: 1Gi
storageClassName: "standard"
name: diagnostics-pvc-volume
----