我已经阅读了所有文档和一些帖子,但找不到这个问题的答案:
minikube 将其持久卷保存在本地 Mac 文件系统中的哪里?
谢谢
首先请记住,Kubernetes 运行在 Minikube 集群上。
Minikube
本身在虚拟机上运行,因此所有数据都将存储在该虚拟机中,而不是存储在您的MacOS上。
当您想要在 Kubernetes 中指定要保存此数据的确切位置时,您可以选择:
hostPath 卷将主机节点文件系统中的文件或目录挂载到 Pod 中。这不是大多数 Pod 所需要的,但它为某些应用程序提供了强大的逃生舱口。
本地卷代表已安装的本地存储设备,例如磁盘、分区或目录。
本地卷只能用作静态创建的 PersistentVolume。尚不支持动态配置。
与 hostPath 卷相比,本地卷可以以持久且可移植的方式使用,无需手动将 Pod 调度到节点,因为系统通过查看 PersistentVolume 上的节点亲和性来了解卷的节点约束。
但是,
Minikube
仅支持 hostpath
。
在这种情况下,您应该检查
Minikube documentation
有关持久卷
minikube 开箱即用地支持
类型的PersistentVolumes
。这些 PersistentVolume 映射到正在运行的 minikube 实例(通常是虚拟机,除非您使用hostPath
、--driver=none
或--driver=docker
)内的目录。有关其工作原理的更多信息,请阅读下面的动态配置部分。--driver=podman
minikube 配置为持久保存存储在以下目录下的文件 目录,这些目录是在 Minikube VM 中(或在本地主机上创建的) 如果在裸机上运行)。您可能会丢失其他目录中的数据 重新启动。
- /数据
- /var/lib/minikube
- /var/lib/docker
- /tmp/hostpath_pv
- /tmp/hostpath-provisioner
如果您想从主机挂载目录,您需要使用
minikube mount
。
$ minikube mount <source directory>:<target directory>
有关更多详细信息,请查看Minikube挂载文件系统文档。
如果您使用卷类型
hostPath
,文件将保存在您的节点上。
要访问您的节点文件系统,您可以使用命令:
minikube ssh
,在您的安装路径下,您将找到您的文档。
当您创建 PV 和 PVC 配置 yaml 文件时,您可以在两个 yaml 文件中提及相同的storageClassName。
这样,持久卷声明就会绑定到相应的持久卷并使用主机路径来存储数据。
您可以运行
kubectl describe pv <pv-name>
和 kubectl describe pvc <pvc-name>
并查看 storageClassName 匹配项。另外,在描述 pv 的输出中,您可以注意到主机路径目录详细信息。