Я использую миникуб для локального запуска kubernetes.Мои локальные K8 имеют два модуля, один из которых - PostgreSQL, а другой - мое собственное приложение.Я смонтировал PersistentVolume
и PersistentVolumeClaim
, чтобы создать модуль с отслеживанием состояния для PostgreSQL:
kind: PersistentVolume
apiVersion: v1
metadata:
name: postgres-pv-volume
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/data/psql"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
Вот файл yaml для развертывания PostgreSQL:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: postgres
spec:
replicas: 1
template:
metadata:
labels:
name: postgres
spec:
containers:
- name: postgres
imagePullPolicy: Never
image: postgres:9.6
ports:
- name: postgres
containerPort: 5432
volumeMounts:
- mountPath: /var/lib/postgresql
name: postgres-persistent-storage
volumes:
- name: postgres-persistent-storage
persistentVolumeClaim:
claimName: postgres-pv-claim
Проблема в том, чточто служба PostgreSQL не запускается, и эта ошибка возникает, когда я запускаю ее модуль:
Error: /var/lib/postgresql/9.6/main is not accessible; please fix the directory permissions (/var/lib/postgresql/9.6/ should be world readable)
No PostgreSQL clusters exist; see "man pg_createcluster" ... (warning).
Я проверил внутри модуля PostgreSQL и обнаружил, что /var/lib/postgresql
пусто, как и /data/psql
Вхозяин миникуб.Кто-нибудь может помочь?