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

问题描述 投票:0回答:3

我已经阅读了所有文档和一些帖子,但找不到这个问题的答案:

minikube 将其持久卷保存在本地 Mac 文件系统中的哪里?

谢谢

kubernetes minikube
3个回答
21
投票

首先请记住,Kubernetes 运行在 Minikube 集群上。

Minikube
本身在虚拟机上运行,因此所有数据都将存储在该虚拟机中,而不是存储在您的MacOS上。

当您想要在 Kubernetes 中指定要保存此数据的确切位置时,您可以选择:

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

本地卷代表已安装的本地存储设备,例如磁盘、分区或目录。

本地卷只能用作静态创建的 PersistentVolume。尚不支持动态配置。

与 hostPath 卷相比,本地卷可以以持久且可移植的方式使用,无需手动将 Pod 调度到节点,因为系统通过查看 PersistentVolume 上的节点亲和性来了解卷的节点约束。

但是,

Minikube
仅支持
hostpath

在这种情况下,您应该检查

Minikube documentation
有关持久卷

minikube 开箱即用地支持

PersistentVolumes
类型的
hostPath
。这些 PersistentVolume 映射到正在运行的 minikube 实例(通常是虚拟机,除非您使用
--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挂载文件系统文档。


6
投票

如果您使用卷类型

hostPath
,文件将保存在您的节点上。

要访问您的节点文件系统,您可以使用命令:

minikube ssh
,在您的安装路径下,您将找到您的文档。


0
投票

当您创建 PV 和 PVC 配置 yaml 文件时,您可以在两个 yaml 文件中提及相同的storageClassName

这样,持久卷声明就会绑定到相应的持久卷并使用主机路径来存储数据。

您可以运行

kubectl describe pv <pv-name>
kubectl describe pvc <pvc-name>
并查看 storageClassName 匹配项。另外,在描述 pv 的输出中,您可以注意到主机路径目录详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.