2017-01-25 8 views
0

Я пытаюсь запустить базу данных Postgresql, используя minikube с постоянным требованием к тому. Эти характеристики YAML:Как решить проблему разрешения при запуске Postgresql из minikube?

minikube-стойкий-volume.yaml:

kind: PersistentVolume 
apiVersion: v1 
metadata: 
    name: pv0001 
    labels: 
    type: hostpath 
spec: 
    capacity: 
    storage: 5Gi 
    accessModes: 
    - ReadWriteMany 
    hostPath: 
    path: "/Users/jonathan/data" 

Postgres-стойкий-объемно-claim.yaml:

apiVersion: v1 
kind: PersistentVolumeClaim 
metadata: 
    name: pv-postgres 
spec: 
    accessModes: [ "ReadWriteMany" ] 
    resources: 
    requests: 
     storage: 2Gi 

Postgres развертывание .yaml

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: postgres 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: postgres 
    spec: 
     containers: 
     - image: postgres:9.5 
     name: postgres 
     ports: 
     - containerPort: 5432 
      name: postgres 
     volumeMounts: 
     - mountPath: /var/lib/postgresql/data 
      name: postgres-disk 
     env: 
     - name: PGDATA 
      value: /var/lib/postgresql/data/pgdata 
     - name: POSTGRES_USER 
      value: keycloak 
     - name: POSTGRES_DATABASE 
      value: keycloak 
     - name: POSTGRES_PASSWORD 
      value: key 
     - name: POSTGRES_ROOT_PASSWORD 
      value: masterkey 
     volumes: 
     - name: postgres-disk 
     persistentVolumeClaim: 
      claimName: pv-postgres 

, когда я начинаю это я получаю следующее в журналах от развертывания:

[...] 
fixing permissions on existing directory 
/var/lib/postgresql/data/pgdata ... ok 
initdb: could not create directory "/var/lib/postgresql/data/pgdata/pg_xlog": Permission denied 
initdb: removing contents of data directory "/var/lib/postgresql/data/pgdata" 

Почему я получаю эту ошибку Разрешение отказано и что я могу поделать?

+0

ли вы попробовать использовать hostPath непосредственно в развертывании вместо использования persistentVolumeClaim? Что происходит тогда? – iamnat

+0

@iamnat Я попробовал сейчас. Такая же ошибка. :( – jonalv

+0

@NorbertvanNobelen: не имеет значения – jonalv

ответ

2

Возможно, у вас есть проблема с разрешением на запись с помощью Virtualbox, устанавливающего эти папки хоста. Вместо этого используйте /data/postgres как путь, и все будет работать.

Minikube автоматически сохраняется следующие каталоги, чтобы они будут сохранены, даже если виртуальная машина перезагружается/воссозданные:

  • /data
  • /var/lib/localkube
  • /var/lib/docker

Прочитайте эти разделы для более подробности:

  1. https://github.com/kubernetes/minikube#persistent-volumes
  2. https://github.com/kubernetes/minikube#mounted-host-folders
+0

Хм, я пробовал это, но сделал еще одну ошибку. Раздражает ... :( – jonalv