diff --git a/common/templates/_persistentvolumeclaim.tpl b/common/templates/_persistentvolumeclaim.tpl
new file mode 100644
index 0000000000000000000000000000000000000000..6a31438e76a6ce51c77156d220c745a69827be38
--- /dev/null
+++ b/common/templates/_persistentvolumeclaim.tpl
@@ -0,0 +1,25 @@
+{{- define "common.persistentvolumeclaim" -}}
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: {{ .Values.name }}
+  {{- with .Values.annotations }}
+  annotations:
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+  labels:
+    {{- include "common.variables.labels" . | nindent 4 }}
+spec:
+  resources:
+    requests: 
+      storage: {{ .Values.size }}
+  {{- with .Values.accessModes }}
+  accessModes:
+    {{- toYaml . | nindent 4 }}
+  {{- end }}
+  storageClassName: {{ .Values.storageClassName | default "manual" }}
+  {{- with .Values.volumeName }}
+  volumeName: {{ . }}
+  {{- end }}
+---
+{{- end }}
diff --git a/example/templates/persistentvolumeclaims.yaml b/example/templates/persistentvolumeclaims.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a8f369703b3379dd12c4f24566fc0a54c8760bbf
--- /dev/null
+++ b/example/templates/persistentvolumeclaims.yaml
@@ -0,0 +1,3 @@
+{{- if .Values.extraIngress }}
+{{ include "common.persistentvolumeclaim" (dict "Values" .Values.volumes.persistentVolumeClaims.example "Chart" .Chart "Release" .Release) }}
+{{- end }}
diff --git a/example/values.yaml b/example/values.yaml
index 7a48e8e351c2580f6f76cdd2bdb3ee6ca637987e..1093a8e9cd60acb107c8c3e4793b5a2f18d09dae 100644
--- a/example/values.yaml
+++ b/example/values.yaml
@@ -47,3 +47,12 @@ volumes:
         nfs:
           server: 192.168.1.196
           path: /example
+
+  persistentVolumeClaims:
+    example:
+      name: example
+      size: 5Gi
+      accessModes:
+        - ReadWriteMany
+      storageClassName: manual
+      volumeName: example