I'm using Helm to deploy postgres on Kubernetes cluster. I create a persistent volume and a persistent volume claim:
pv.yaml:
apiVersion: v1
kind: PersistentVolume
metadata:
name: task-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/mnt/data"
pvc.yaml:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
and run helm with command:
helm install my-release stable/postgresql --set persistence.existingClaim=task-pv-claim
but Pods is in state CrashLoopBackOff. Logs of the pod say:
postgresql 12:12:18.62
postgresql 12:12:18.62 Welcome to the Bitnami postgresql container
postgresql 12:12:18.62 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-postgresql
postgresql 12:12:18.62 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-postgresql/issues
postgresql 12:12:18.63 Send us your feedback at containers@bitnami.com
postgresql 12:12:18.63
postgresql 12:12:18.65 INFO ==> ** Starting PostgreSQL setup **
postgresql 12:12:18.73 INFO ==> Validating settings in POSTGRESQL_* env vars..
postgresql 12:12:18.73 INFO ==> Loading custom pre-init scripts...
postgresql 12:12:18.74 INFO ==> Initializing PostgreSQL database...
mkdir: cannot create directory ‘/bitnami/postgresql/data’: Permission denied
postgresql 12:12:18.76 INFO ==> Stopping PostgreSQL...
How can i fix it?
Try setting the helm charts volumePermissions.enabled
to true.
Sometimes the cluster settings don't give the running container enough permissions to actuall write to the mounted volume by default.