我读了所有的文档和一些SO帖子,找不到这个问题的答案:minikube在我的本地mac文件系统中的何处持久化卷?谢谢
velaa5lx1#
首先请记住,Kubernetes运行在Minikube集群上。Minikube本身运行在虚拟机上,因此所有数据都将存储在此VM中,而不是MacOS上。当你想在Kubernetes中指向你想保存这些数据的确切位置时,你可以选择:
Minikube
hostPath卷将文件或目录从主机节点的文件系统挂载到Pod中。这不是大多数Pod所需要的,但它为某些应用程序提供了强大的逃生舱。
本地卷表示挂载的本地存储设备,如磁盘、分区或目录。本地卷只能用作静态创建的PersistentVolume。尚不支持动态配置。与hostPath卷相比,本地卷可以以持久和可移植的方式使用,而无需手动将Pod调度到节点,因为系统通过查看PersistentVolume上的节点亲和性来了解卷的节点约束。但是,Minikube仅支持hostpath。在这种情况下,您应该检查Minikube documentation关于Persistent Volumesminikube支持hostPath类型的PersistentVolumes。这些Persistent对象Map到正在运行的minikube示例(通常是VM,除非您使用--driver=none,--driver=docker或--driver=podman)内的目录。有关如何工作的详细信息,请阅读下面的动态预配置部分。minikube被配置为持久化存储在以下目录下的文件,这些文件是在Minikube VM中创建的(或者如果在裸机上运行,则在您的本地主机上)。重新启动时,您可能会丢失其他目录中的数据。
hostpath
Minikube documentation
hostPath
PersistentVolumes
--driver=none
--driver=docker
--driver=podman
如果你想从主机挂载目录,你需要使用minikube mount。
minikube mount
$ minikube mount <source directory>:<target directory>
字符串有关详细信息,请查看Minikube Mounting filesystems文档。
lyfkaqu12#
如果您使用的卷类型为hostPath,则文件将保存在您的节点上。要访问节点文件系统,可以使用命令:minikube ssh,在挂载路径下可以找到文档。
minikube ssh
zfciruhq3#
创建PV和PVC配置yaml文件时,可以在两个yaml文件中使用相同的storageClassName。通过这种方式,持久卷声明绑定到相应的持久卷,并使用主机路径存储数据。您可以运行kubectl describe pv <pv-name>和kubectl describe pvc <pvc-name>并查看storageClassName匹配。在describe pv的输出中,您还可以注意到主机路径目录的详细信息。
kubectl describe pv <pv-name>
kubectl describe pvc <pvc-name>
3条答案
按热度按时间velaa5lx1#
首先请记住,Kubernetes运行在Minikube集群上。
Minikube
本身运行在虚拟机上,因此所有数据都将存储在此VM中,而不是MacOS上。当你想在Kubernetes中指向你想保存这些数据的确切位置时,你可以选择:
hostPath卷将文件或目录从主机节点的文件系统挂载到Pod中。这不是大多数Pod所需要的,但它为某些应用程序提供了强大的逃生舱。
本地卷表示挂载的本地存储设备,如磁盘、分区或目录。
本地卷只能用作静态创建的PersistentVolume。尚不支持动态配置。
与hostPath卷相比,本地卷可以以持久和可移植的方式使用,而无需手动将Pod调度到节点,因为系统通过查看PersistentVolume上的节点亲和性来了解卷的节点约束。
但是,
Minikube
仅支持hostpath
。在这种情况下,您应该检查
Minikube documentation
关于Persistent Volumesminikube支持
hostPath
类型的PersistentVolumes
。这些Persistent对象Map到正在运行的minikube示例(通常是VM,除非您使用--driver=none
,--driver=docker
或--driver=podman
)内的目录。有关如何工作的详细信息,请阅读下面的动态预配置部分。minikube被配置为持久化存储在以下目录下的文件,这些文件是在Minikube VM中创建的(或者如果在裸机上运行,则在您的本地主机上)。重新启动时,您可能会丢失其他目录中的数据。
如果你想从主机挂载目录,你需要使用
minikube mount
。字符串
有关详细信息,请查看Minikube Mounting filesystems文档。
lyfkaqu12#
如果您使用的卷类型为
hostPath
,则文件将保存在您的节点上。要访问节点文件系统,可以使用命令:
minikube ssh
,在挂载路径下可以找到文档。zfciruhq3#
创建PV和PVC配置yaml文件时,可以在两个yaml文件中使用相同的storageClassName。
通过这种方式,持久卷声明绑定到相应的持久卷,并使用主机路径存储数据。
您可以运行
kubectl describe pv <pv-name>
和kubectl describe pvc <pvc-name>
并查看storageClassName匹配。在describe pv的输出中,您还可以注意到主机路径目录的详细信息。