2017-01-25 4 views
0

持続的なボリュームクレームを持つminikubeを使用してPostgreSQLデータベースを実行しようとしています。これらは、YAMLの仕様です:minikubeからPostgreSQLを実行しているときに権限の問題を解決するには?

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

あなたの代わりにpersistentVolumeClaimを使用しての展開で直接ホストパスを使用してみましたか?その後何が起こるのですか? – iamnat

+0

@iamnat私は今試しました。同じエラー。 : – jonalv

+0

@NorbertvanNobelen:違いがない – jonalv

答えて

2

これらのホストフォルダをマウントしているVirtualboxに書き込み権限の問題がある可能性があります。 代わりに、/data/postgresをパスとして使用すれば問題なく動作します。

彼らはあなたのVMが再作成/再起動しても保存されていますので、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

関連する問題