Minikube卷

13

Minikube旨在使在本地运行Kubernetes变得简单,不仅用于“入门”,还用于“日常开发工作流程”。

来源:https://github.com/kubernetes/minikube/blob/master/ROADMAP.md#goals

但我也可以看到:“PersistentVolumes映射到minikube VM内部的目录。 Minikube VM引导到tmpfs,因此大多数目录不会在重新启动(minikube stop)时持久化。”

来源:https://kubernetes.io/docs/getting-started-guides/minikube/#persistent-volumes

那么如果我的开发需要持久性存储(MySQL数据库,mongodb数据库等)? 我需要放弃Minikube并直接安装完整的Kubernetes吗?

3个回答

20

这在文档中有详细介绍。相关部分紧随你已经引用的句子之后:

不过,Minikube 已配置为持久化存储以下主机目录中存储的文件:

  • /data
  • /var/lib/localkube
  • /var/lib/docker

以下是一个示例 PersistentVolume 配置,可将数据持久化存储在 '/data' 目录中:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0001
spec:
  accessModes:
    - ReadWriteOnce
  capacity:
    storage: 5Gi
  hostPath:
    path: /data/pv0001/
只需声明映射到主机上 /data 目录中的任何目录的 hostPath 卷,这些卷应该会持久保存,即使在重启后也是如此。

“should”?所以你不比我知道更多,对吧?因为我的理解是你可以创建卷,但“主机”将是minikube VM,这就是你刚引用的文档中所写的。 - Tristan
这些PersistentVolumes被映射到minikube VM内的一个目录。是的,文档说这个目录在Minikube VM重启后会被保留。这不就是你在问题中所问的吗? - helmbert
我们读的是同一份文档吗?我的文档上写着:“大多数目录在重新启动后不会被保留”。 - Tristan
2
是的。但是/data/会。 - helmbert
从2022年9月开始,文档网址应更改为https://minikube.sigs.k8s.io/docs/handbook/persistent_volumes/。 - Max
显示剩余2条评论

10
这是一位Minikube贡献者的答复,确认文档存在问题:

我已经改写了自述文件,使其更加清晰易懂。

主机是您运行minikube的计算机。这只是通过挂载到主机文件夹https://github.com/kubernetes/minikube/blob/master/docs/host_folder_mount.md与VM相连接。

客户机或minikube VM将某些文件夹持久化到存储在主机上的磁盘(例如 ~/.minikube/machines/minikube/disk.vmdk)。 minikube VM中的某些目录中存储的文件将在启动/停止之间保留,但不删除。

来源:https://github.com/kubernetes/minikube/issues/1184

-4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接