2017-12-16 3 views
2

Ich versuche, Postgres über Helm mit dem neuesten stable zu installieren, und es installiert das persistente Volume nicht richtig. Ich installiere es in Minikube und aus irgendeinem Grund scheint es nicht in der Lage zu sein, hostMount richtig zu installieren.Postgresql via Helm nicht installieren

Fehler (auf der Bereitstellung, pod und Replikatssatz)

PersistentVolumeClaim is not bound: "postgres-postgresql" Error: lstat /tmp/hostpath-provisioner/pvc-c713429d-e2a3-11e7-9ca9-080027231d54: no such file or directory Error syncing pod

Als ich im persistenten Volumen sehe es scheint richtig zu laufen. Im Fall hilft es, hier ist mein persistent Volumen yaml:

{ 
    "kind": "PersistentVolume", 
    "apiVersion": "v1", 
    "metadata": { 
    "name": "pvc-c713429d-e2a3-11e7-9ca9-080027231d54", 
    "selfLink": "/api/v1/persistentvolumes/pvc-c713429d-e2a3-11e7-9ca9-080027231d54", 
    "uid": "c71850e1-e2a3-11e7-9ca9-080027231d54", 
    "resourceVersion": "396568", 
    "creationTimestamp": "2017-12-16T20:57:50Z", 
    "annotations": { 
     "hostPathProvisionerIdentity": "8979806c-dfba-11e7-862f-080027231d54", 
     "pv.kubernetes.io/provisioned-by": "k8s.io/minikube-hostpath" 
    } 
    }, 
    "spec": { 
    "capacity": { 
     "storage": "8Gi" 
    }, 
    "hostPath": { 
     "path": "/tmp/hostpath-provisioner/pvc-c713429d-e2a3-11e7-9ca9-080027231d54", 
     "type": "" 
    }, 
    "accessModes": [ 
     "ReadWriteOnce" 
    ], 
    "claimRef": { 
     "kind": "PersistentVolumeClaim", 
     "namespace": "default", 
     "name": "postgres-postgresql", 
     "uid": "c713429d-e2a3-11e7-9ca9-080027231d54", 
     "apiVersion": "v1", 
     "resourceVersion": "396550" 
    }, 
    "persistentVolumeReclaimPolicy": "Delete", 
    "storageClassName": "standard" 
    }, 
    "status": { 
    "phase": "Bound" 
    } 
} 

Persistent Volume Anspruch Yaml:

{ 
    "kind": "PersistentVolumeClaim", 
    "apiVersion": "v1", 
    "metadata": { 
    "name": "postgres-postgresql", 
    "namespace": "default", 
    "selfLink": "/api/v1/namespaces/default/persistentvolumeclaims/postgres-postgresql", 
    "uid": "c713429d-e2a3-11e7-9ca9-080027231d54", 
    "resourceVersion": "396588", 
    "creationTimestamp": "2017-12-16T20:57:50Z", 
    "labels": { 
     "app": "postgres-postgresql", 
     "chart": "postgresql-0.8.3", 
     "heritage": "Tiller", 
     "release": "postgres" 
    }, 
    "annotations": { 
     "control-plane.alpha.kubernetes.io/leader": "{\"holderIdentity\":\"897980a2-dfba-11e7-862f-080027231d54\",\"leaseDurationSeconds\":15,\"acquireTime\":\"2017-12-16T20:57:50Z\",\"renewTime\":\"2017-12-16T20:57:52Z\",\"leaderTransitions\":0}", 
     "pv.kubernetes.io/bind-completed": "yes", 
     "pv.kubernetes.io/bound-by-controller": "yes", 
     "volume.beta.kubernetes.io/storage-provisioner": "k8s.io/minikube-hostpath" 
    } 
    }, 
    "spec": { 
    "accessModes": [ 
     "ReadWriteOnce" 
    ], 
    "resources": { 
     "requests": { 
     "storage": "8Gi" 
     } 
    }, 
    "volumeName": "pvc-c713429d-e2a3-11e7-9ca9-080027231d54", 
    "storageClassName": "standard" 
    }, 
    "status": { 
    "phase": "Bound", 
    "accessModes": [ 
     "ReadWriteOnce" 
    ], 
    "capacity": { 
     "storage": "8Gi" 
    } 
    } 
} 

Jede Hilfe würde geschätzt.

+0

Was genau ist das Problem, vor dem Sie stehen? Können wir die Ausgabe des defekten Pods "kubectl describe po" sehen? – whites11

+0

Ich bin mir nicht sicher, warum Sie hier abgelehnt wurden - das ist ein echtes Problem und die Frage beschreibt es gut. Ich war in der Lage, es mit nur einer normalen Helm-Installation von Postgres zu reproduzieren. –

Antwort

4

Sie in dieser Ausgabe ausgeführt werden kann: https://github.com/kubernetes/minikube/issues/2256

Das Problem ist, es ist ein Fehler in der hostpath Volumen provisioner, die einen Fehler feststellt, wenn die ‚subpath‘ Feld in der Deployment-Ressource vorhanden ist (Fall, wenn das Feld hat ein leerer Wert).

Hier ist eine Abhilfe, die für mich gearbeitet - das postgresql Diagramm entpacken und die folgende Zeile in deployment.yaml Kommentar aus:

 # subPath: {{ .Values.persistence.subPath }} 

dann das geänderte Diagramm erneut bereitstellen. Wenn Sie auf das Feld 'subPath' angewiesen sind, funktioniert diese Problemumgehung nicht für Sie.

Hinweis: Dieses Problem ist auch auf Kubernetes auf Docker-für-Mac (wo ich es erlebt habe).

+2

Das behebt das Problem mit Helm Postgres für mich auch. –

Verwandte Themen