Windows minikube是否支持带主机路径的持久卷?如果是这样的语法是什么?
我试过了:
apiVersion: v1
kind: PersistentVolume
metadata:
name: kbmongo002
labels:
type: local
spec:
storageClassName: mongostorageclass
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/temp/mongo"
persistentVolumeReclaimPolicy: Retain
---
这传递了验证并创建了PV并且PVC声明了它,但没有写入我预期的C:\ temp \ mongo
的位置我也尝试过:
hostPath:
path: "c:/temp/mongo"
persistentVolumeReclaimPolicy: Retain
---
结果导致:
Error: Error response from daemon: Invalid bind mount spec
"c:/temp/mongo:/data/db": invalid mode: /data/db
Error syncing pod
答案 0 :(得分:0)
如果您在Windows中使用virtualbox,则只有c:/Users
被映射到vm,因为/c/Users
是kubernetes系统可以访问的。这是Virtualbox中的功能。
Minikube使用VM来模拟kubernetes VM。
Minikube也提供了安装功能,对于持久性而言不是那么用户友好。
您可以尝试选择以下解决方案之一
/c/Users
下的文件夹作为您的yaml文件C:\Users
minikube mount
,请参阅host folder mount 答案 1 :(得分:0)
我在Windows上尝试过k8s主机路径,效果很好。 您应该在pod安装路径中使用驱动器号,请参阅示例:https://github.com/andyzhangx/Demo/blob/master/windows/azuredisk/aspnet-pod-azuredisk.yaml#L14
由于Windows上存在与docker挂载路径相关的错误,您需要在pod中使用驱动器号作为挂载路径,请参阅问题:https://github.com/moby/moby/issues/34729