2016-08-21 5 views
1

Ich versuche Pet Set in Kubernetes 1.3 zu konfigurieren. Es gibt ein NFS-Speicher-Back-End, das erwartungsgemäß mit persistenten Volumes, Claims und Pods funktioniert. Wenn ich jedoch ein Pet-Set erstelle, ist VolumeClaimTemplate niemals an das persistente Volume gebunden, das von NFS unterstützt wird.Konfigurieren von Kubernetes Pet Set mit NFS

Unten finden Sie die Definition der PV -

apiVersion: v1 
kind: PersistentVolume 
metadata: 
    name: janipv 
spec: 
    capacity: 
    storage: 3Gi 
    accessModes: 
    - ReadWriteMany 
    persistentVolumeReclaimPolicy: Recycle 
    nfs: 
    path: /var/data/test 
    server: 172.17.4.101 

Als ich in der Dokumentation der Pet Set sample verfügbar versuchen läuft, sehe ich die folgende Meldung.

kubelet describe pv 

{persistentvolume-controller }   Warning   ProvisioningFailed  No provisioner plugin found for the claim! 

Die gleiche Konfiguration funktioniert gut, wenn ich normalen Pod anstelle eines Haustier-Sets verwende.

Antwort

0

Wir haben keinen NFS Dynamic Provisioner, wie der Fehler anzeigt: http://kubernetes.io/docs/user-guide/petset/#alpha-limitations (es sei denn, Sie haben einen geschrieben, in diesem Fall können wir mit dem Debuggen beginnen). Das Volumeclaimtemplate selbst wird niemals an irgendetwas gebunden. Es ist eine Vorlage für die Erstellung von Volumenansprüchen, dh der Controller erstellt pvc-0, pvc-1 ... für pet-0, pet-1 ... diese Ansprüche sind an persistente Volumes über einen dynamischen Volume-Provisioner gebunden (z im Gegensatz zu einem statischen Volume-Provisioning-Prozess, bei dem ein Mensch den PV erzeugt und ihn an den PVC anbringt.

Sie können einen vorhandenen pv an einen der Petset-Ansprüche anhängen, genau wie für die Pods eines Replikations-Controllers, indem Sie das Feld volumeName des PVCs festlegen.

+0

Danke Prashanth! Ich habe drei Fragen - 1) Bedeutet das, Wenn ich ein PVC vor Hand mit der Namenskonvention von PVC-0 zu PVC-n erstelle, wird es durch Prüfer zur Laufzeit gebunden? 2) Welche dynamische Provisionierung wird während des Alphas unterstützt? 3) Wenn ich HostPath auf eine NFS-Freigabe verwende, bekomme ich das erwartete Ergebnis mit Pet Set? –

+0

Nein, nur der PVC wird für Sie erstellt. Binding ist die Aufgabe des Provisioners (die in Ihrem Fall nicht existiert, also Provisioner == Mensch). Wenn Sie auf einem Cloud-Anbieter sind, sollte der richtige Provisioner für Sie gestartet werden, wenn Sie auf Metall sind, müssen Sie einen starten (ich glaube, Ceph und Gluster sind in Arbeit: https://github.com/kubernetes/kubernetes/pull/30888, https://github.com/kubernetes/kubernetes/pull/31251). –

Verwandte Themen