Minikube不尊重持久卷

问题描述:

我正在尝试使用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回购上打开一个问题。 –

minikube动态存储配置默认打开。您可以尝试禁用它,以便您的声明能够被您的NFS PV满足。晚

minikube start --feature-gates=DynamicVolumeProvisioning=false 

也许有点,但对于这里的记录中的至少一个答案:

在创建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动态配置。