Kubernetes:minikube持久卷本地文件系统存储位置

dphi5xsq  于 2023-11-17  发布在  Kubernetes
关注(0)|答案(3)|浏览(157)

我读了所有的文档和一些SO帖子,找不到这个问题的答案:
minikube在我的本地mac文件系统中的何处持久化卷?
谢谢

velaa5lx

velaa5lx1#

首先请记住,Kubernetes运行在Minikube集群上。Minikube本身运行在虚拟机上,因此所有数据都将存储在此VM中,而不是MacOS上。
当你想在Kubernetes中指向你想保存这些数据的确切位置时,你可以选择:

  • hostpath

hostPath卷将文件或目录从主机节点的文件系统挂载到Pod中。这不是大多数Pod所需要的,但它为某些应用程序提供了强大的逃生舱。

  • 当地

本地卷表示挂载的本地存储设备,如磁盘、分区或目录。
本地卷只能用作静态创建的PersistentVolume。尚不支持动态配置。
与hostPath卷相比,本地卷可以以持久和可移植的方式使用,而无需手动将Pod调度到节点,因为系统通过查看PersistentVolume上的节点亲和性来了解卷的节点约束。
但是,Minikube仅支持hostpath
在这种情况下,您应该检查Minikube documentation关于Persistent Volumes
minikube支持hostPath类型的PersistentVolumes。这些Persistent对象Map到正在运行的minikube示例(通常是VM,除非您使用--driver=none--driver=docker--driver=podman)内的目录。有关如何工作的详细信息,请阅读下面的动态预配置部分。
minikube被配置为持久化存储在以下目录下的文件,这些文件是在Minikube VM中创建的(或者如果在裸机上运行,则在您的本地主机上)。重新启动时,您可能会丢失其他目录中的数据。

  • /data
  • 简体中文
  • /var/lib/docker
  • /tmp/hostpath_pv
  • /tmp/hostpath-provider

如果你想从主机挂载目录,你需要使用minikube mount

$ minikube mount <source directory>:<target directory>

字符串
有关详细信息,请查看Minikube Mounting filesystems文档。

lyfkaqu1

lyfkaqu12#

如果您使用的卷类型为hostPath,则文件将保存在您的节点上。
要访问节点文件系统,可以使用命令:minikube ssh,在挂载路径下可以找到文档。

zfciruhq

zfciruhq3#

创建PV和PVC配置yaml文件时,可以在两个yaml文件中使用相同的storageClassName
通过这种方式,持久卷声明绑定到相应的持久卷,并使用主机路径存储数据。
您可以运行kubectl describe pv <pv-name>kubectl describe pvc <pvc-name>并查看storageClassName匹配。在describe pv的输出中,您还可以注意到主机路径目录的详细信息。

相关问题