Docker 桌面 (Windows) 上的 Kubernetes 持久卷

Kubernetes persistent volume on Docker Desktop (Windows)

我在 Windows 10 上使用 Docker 桌面。出于开发目的,我想将本地文件夹公开给容器。当 运行 中的容器 Docker 时,我通过指定卷标志 (-v) 来执行此操作。

当 运行 Kubernetes 中的容器时,我如何实现相同的目标?

您应该在 pod 的规范中使用 hostpath 卷类型从主机节点的文件系统挂载文件或目录,其中 hostPath.path 字段应采用以下格式以接受 Windows喜欢路径:

  • /W/fooapp/influxdb
  • //W/fooapp/influxdb
  • /////W/fooapp/influxdb

请检查 this github 解释 Kubernetes Volumes 特性的问题 Windows。 我还假设您已经在 Docker 中为 Windows 安装启用了 Shared Drives 功能。

使用 k8s 1.21.5 以下类型的路径对我有用:

/run/desktop/mnt/host/c/PATH/TO/FILE

深入研究这个 github 问题帮助我解决了要使用的路径: https://github.com/kubernetes/kubernetes/issues/59876