Persistent Volumes are Kubernetes native.
How to set up Persistent Volumes
You can either:
Let the helm chart create the volumes for you (recommended)
Create the Volumes manually
Let the helm chart create the volumes for you (recommended)
Comment out the
claimName
Check the remaining settings (see table below)
Run a
helm install ...
Now the helm chart will create 3 volumes as specified in the settings
backend-uploads
button3d-media
button3d-private-media
Setup the respective
claimName
to the string of the Persistent volume name. E.g.
fileStorageConfig: uploads: claimName: "backend-uploads" media: claimName: "button3d-media" privateMedia: claimName: "button3d-private-media"
6. Now helm will use the initially created volumes instead of creating new ones.
Create the Volumes manually
1. Creating the volumes
Please consult the Kubernetes Documentation to create the 3 volumes manually.
Our recommended claim names are:
backend-uploads
button3d-media
button3d-private-media
2. Link the volumes
Setup the respective claimName
to the string of the Persistent volume name. E.g.
fileStorageConfig: uploads: claimName: "backend-uploads"
All other settings will be ignored.
fileStorageConfig: internal: enabled: true uploads: size: 1Gi storageClass: default claimName: accessMode: ReadWriteMany media: size: 1Gi storageClass: default claimName: accessMode: ReadWriteMany privateMedia: size: 1Gi storageClass: default # fileStorageConfig.internal.privateMedia.claimName -- Use an existing PVC to persist data. If unspecified, a claim will be created with the name "button3d-private-media" claimName: # fileStorageConfig.internal.privateMedia.subPath -- Mount a sub directory of the persistent volume if set subPath: "" # fileStorageConfig.internal.privateMedia.accessMode -- Set to ReadWriteMany if storage needs to be accessed from another pod accessMode: ReadWriteMany
Settings Key | Possible Values | Description |
---|---|---|
|
| Specifies if Persistent Volumes are used |
|
| The size of the volume on initial creation. Only relevant if |
| A supported storageClass name or | Check https://kubernetes.io/docs/concepts/storage/storage-classes/ . You can use |
| A string | See above |
|
| Specifies if you can attach to the volume from multiple pods. It is recommended to use |