2017-06-05 159 views
0

我正在嘗試使用minikube設置一些持久NFS卷的MariaDB。每次我加載聲明配置時,minikube都會創建一個默認持久卷,而不是使用我通過NFS提供的卷。我不明白爲什麼它是...Minikube不尊重持久卷

mariadb-nfs-volume.yaml文件讀取:

apiVersion: v1 
kind: PersistentVolume 
metadata: 
    name: nfs 
spec: 
    capacity: 
    storage: 10Gi 
    accessModes: 
    - ReadWriteMany 
    nfs: 
    server: 192.168.3.121 
    path: "/var/nfsshare" 
    readOnly: false 

而且mariadb-pv-claim.yaml文件讀取:

kind: PersistentVolumeClaim 
apiVersion: v1 
metadata: 
    name: mariadb-pv-claim 
spec: 
    accessModes: 
    - ReadWriteMany 
    resources: 
    requests: 
     storage: 3Gi 

而且一些調試:

; kubectl get pv nfs 
NAME  CAPACITY ACCESSMODES RECLAIMPOLICY STATUS  CLAIM  STORAGECLASS REASON AGE 
nfs  10Gi  RWX   Retain   Available          56m 
; kubectl get pvc mariadb-pv-claim 
NAME    STATUS VOLUME          CAPACITY ACCESSMODES STORAGECLASS AGE 
mariadb-pv-claim Bound  pvc-7f20f205-49f2-11e7-83ab-525400dd1f77 3Gi  RWX   standard  56m 
+0

我建議在Minikube github回購上打開一個問題。 –

回答

0

minikube動態存儲配置默認打開。您可以嘗試禁用它,以便您的聲明能夠被您的NFS PV滿足。晚

minikube start --feature-gates=DynamicVolumeProvisioning=false 
1

也許有點,但對於這裏的記錄中的至少一個答案:

在創建PersistentVolume給它一個storageClassName(我用mariadab-NFS這裏):

apiVersion: v1 
kind: PersistentVolume 
metadata: 
    name: nfs 
spec: 
    storageClassName: mariadb-nfs 
    capacity: 
    storage: 10Gi 
    accessModes: 
    - ReadWriteMany 
    nfs: 
    server: 192.168.3.121 
    path: "/var/nfsshare" 
    readOnly: false 

當聲明該卷時,指定該存儲類名稱非常相同:

kind: PersistentVolumeClaim 
apiVersion: v1 
metadata: 
    name: mariadb-pv-claim 
spec: 
    storageClassName: mariadb-nfs 
    accessModes: 
    - ReadWriteMany 
    resources: 
    requests: 
     storage: 3Gi 

Kubernetes然後將爲pvc使用定義的pv,不需要禁用minikube動態配置。