首先请记住 Kubernetes 运行在Minikube https://minikube.sigs.k8s.io/docs/簇。Minikube
它本身在虚拟机上运行,因此所有数据都将存储在该虚拟机中,而不是存储在 MacOS 上。
当您想要在 Kubernetes 中指定要保存此数据的确切位置时,您可以选择:
- hostpath https://kubernetes.io/docs/concepts/storage/volumes/#hostpath
hostPath 卷将主机节点文件系统中的文件或目录挂载到 Pod 中。这不是大多数 Pod 所需要的,但它为某些应用程序提供了强大的逃生舱口。
- local https://kubernetes.io/docs/concepts/storage/volumes/#local
本地卷表示已安装的本地存储设备,例如磁盘、分区或目录。
本地卷只能用作静态创建的 PersistentVolume。尚不支持动态配置。
与 hostPath 卷相比,本地卷可以以持久且可移植的方式使用,而无需手动将 Pod 调度到节点,因为系统通过查看 PersistentVolume 上的节点亲和性来了解卷的节点约束。
然而,Minikube
仅支持 hostpath
.
在这种情况下,您应该检查Minikube documentation
about 持久卷 https://minikube.sigs.k8s.io/docs/handbook/persistent_volumes/
minikube 支持PersistentVolumes
类型的hostPath
盒子外面。这些 PersistentVolume 被映射到正在运行的 minikube 实例(通常是虚拟机,除非您使用--driver=none
, --driver=docker
, or --driver=podman
)。有关其工作原理的更多信息,请阅读下面的动态配置部分。
minikube 配置为持久保存存储在以下目录下的文件
目录,这些目录是在 Minikube VM 中(或在本地主机上创建的)
如果在裸机上运行)。您可能会丢失其他目录中的数据
重新启动。
- /data
- /var/lib/minikube
- /var/lib/docker
- /tmp/hostpath_pv
- /tmp/hostpath-provisioner
如果您想从主机挂载目录,您需要使用minikube mount
.
$ minikube mount <source directory>:<target directory>
欲了解更多详情,请查看Minikube 挂载文件系统 https://minikube.sigs.k8s.io/docs/handbook/mount/文档。