2016-01-18 25 views
8

Mam wiele tomów i jedno roszczenie. Jak mogę stwierdzić roszczenie, z którym tomem powiązać?Jak kontrolować wartość bezwzględnej wartości parametru Kubistości PersistentVolumeClaim w celu powiązania z określonym wartością parametru PersistentVolume?

W jaki sposób wie do którego woluminu wiązać? Czy mogę kontrolować to za pomocą innych parametrów lub metadanych?

Mam następujący PersistentVolumeClaim:

{                             
    "apiVersion": "v1",                       
    "kind": "PersistentVolumeClaim",                    
    "metadata": {                         
     "name": "default-drive-claim"                    
    },                            
    "spec": {                          
     "accessModes": [                       
      "ReadWriteOnce"                      
     ],                           
     "resources": {                        
      "requests": {                       
       "storage": "10Gi"                     
      }                          
     }                           
    }                            
} 

{                             
    "apiVersion": "v1",                       
    "kind": "PersistentVolume", 
    "metadata": {                         
     "name": "default-drive-disk",                    
     "labels": {                        
      "name": "default-drive-disk"                   
     } 
    },  
    "spec": {                          
     "capacity": { 
      "storage": "10Gi"                      
     },  
     "accessModes": [                       
      "ReadWriteOnce"                      
     ],                           
     "gcePersistentDisk": {                      
      "pdName": "a1-drive", 
      "fsType": "ext4" 
     } 
    } 
} 

Jeśli utworzyć roszczenia oraz głośność za pomocą:

kubectl create -f pvc.json -f pv.json 

otrzymuję następujący listę woluminów i roszczeń:

NAME     LABELS     CAPACITY ACCESSMODES STATUS CLAIM       REASON AGE 
default-drive-disk name=default-drive-disk 10Gi  RWO   Bound  default/default-drive-claim    2s 
NAME     LABELS STATUS VOLUME    CAPACITY ACCESSMODES AGE 
default-drive-claim <none> Bound  default-drive-disk 10Gi  RWO   2s 

W jaki sposób oświadczenie wie, do jakiego woluminu należy powiązać?

Odpowiedz

6

Obecna implementacja nie pozwala Twojemu obiektowi PersistentVolumeClaim na kierowanie konkretnych wartości PersistentVolumes. Roszczenia wiążą woluminy w zależności od ich możliwości (tryby dostępu) i pojemności.

W pracach następna iteracja PersistentVolumes, która zawiera PersistentVolumeSelector w roszczeniu. To działałoby dokładnie tak, jak NodeSelector na działach. Objętość musi być zgodna z selektorem etykiet w celu związania. To jest cel, którego szukasz.

Proszę zobaczyć https://github.com/kubernetes/kubernetes/pull/17056 dla wniosku zawierającego PersistentVolumeSelector.

+0

Brzmi niesamowicie! –

+0

@GabrielPetrovay Jeśli jeszcze tego nie zrobiłeś, powinieneś sprawdzić istotną pracę wykonaną dla PV. Nie ma dwukierunkowego "wstępnego wiązania", które powinno robić, co się chce. –

+3

Wiązanie PVC do określonej PV jest obsługiwane co najmniej od wersji v1.3. Zobacz http://stackoverflow.com/a/34323691/5443528 –