apiVersion: v1 kind: PersistentVolume metadata: name: mongodb-pv spec: capacity: storage: {{ .Values.mongodb.storageSize }} accessModes: - ReadWriteOnce hostPath: path: /opt/mongodb-data persistentVolumeReclaimPolicy: Retain --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mongodb-pvc namespace: {{ .Values.namespace }} spec: accessModes: - ReadWriteOnce storageClassName: "" resources: requests: storage: {{ .Values.mongodb.storageSize }} volumeName: mongodb-pv --- apiVersion: apps/v1 kind: StatefulSet metadata: name: mongodb namespace: {{ .Values.namespace }} spec: serviceName: mongodb replicas: 1 selector: matchLabels: app: mongodb template: metadata: labels: app: mongodb spec: containers: - name: mongodb image: {{ .Values.mongodb.image }}:{{ .Values.mongodb.tag }} ports: - containerPort: {{ .Values.mongodb.port }} volumeMounts: - name: mongodb-storage mountPath: /data/db volumes: - name: mongodb-storage persistentVolumeClaim: claimName: mongodb-pvc