1

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 
4

2 回答 2

2

如果你在windows中使用virtualbox,只有c:/Users被映射到vm中,/c/Users这是kubernetes系统可以访问的。这是 Virtualbox 中的功能。

快照

Minikube 使用 VM 来模拟 kubernetes VM。

Minikube 也提供了挂载功能,但对于持久性来说不是那么用户友好。

您可以尝试选择以下解决方案之一

  • 使用/c/Users您的 yaml 文件下的文件夹
  • 将额外的文件夹映射到 virtualbox VM 中,例如C:\Users
  • 使用minikube mount,见主机文件夹挂载
于 2017-07-18T14:51:55.577 回答
1

我在windows上试过k8s hostpath,效果很好。您应该在 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

于 2017-10-24T11:37:34.523 回答