Title
Create new category
Edit page index title
Edit category
Edit link
Storage Configuration on K8S
MD Core containers are stateless and don't require any persistent storage by default. However, there are some cases where it is needed to attach a volume to the app container or database container.
Configure Database Storage
If the PostgreSQL database is deployed in the cluster, then it's recommended to use persistent storage managed by a cloud provider.
When using an external database that is not deployed from the MD Core chart, the deploy_with_core_db value has to be set to false in order to not deploy an additional database from the chart.
The helm chart can be configured to use a custom storage class or persistent volume by setting the storage_provisioner value to custom.
Available storage providers:
- hostPath: doesn't use any PVCs in the pod definitions and just mounts a path on the host starting with the hostPathPrefix
- custom: mounts from the PVC named as the storage_name value and uses component name as the subpath
Adding the Kubernetes yaml for the persistent volume claim in the storage_configs value and then using the pvc name in the storage_name value to tell the container where to mount to volume. Here's an example using managed storage in Azure:
storage_configs: # Example using a PVC with dynamic provisioning from an existing storage class pvc-example: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: md-core-store-data-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: managed-premium core_components: md-core: extraVolumeMounts: - name: md-core-store-data mountPath: /var/lib/ometascan extraVolumes: configStore: name: md-core-store-data persistentVolumeClaim: claimName: md-core-store-data-pvc