Minikube应该让在本地运行Kubernetes变得简单,不仅用于“入门”,还用于“日常开发工作流程”。
来源:https://github.com/kubernetes/minikube/blob/master/ROADMAP.md#goals
但我还可以读到:“PersistentVolumes映射到minikube VM内的目录.Miniikube VM引导到tmpfs,因此大多数目录不会在重新启动(minikube stop)后保持不变”
来源:https://kubernetes.io/docs/getting-started-guides/minikube/#persistent-volumes
那么如果我的开发需要持久存储(MySQL数据库,mongodb数据库......)怎么办?我是否需要扔掉我的Minikube并直接安装完整的Kubernetes?
这在the documentation中有所涉及。相关部分在您已经引用的句子之后立即开始:
但是,Minikube配置为保留存储在以下主机目录下的文件:
- /数据
- 的/ var / lib中/ localkube
- 的/ var / lib中/搬运工
下面是一个PersistentVolume配置示例,用于在'/ data'目录中保存数据:
apiVersion: v1 kind: PersistentVolume metadata: name: pv0001 spec: accessModes: - ReadWriteOnce capacity: storage: 5Gi hostPath: path: /data/pv0001/
只需声明映射到主机上hostPath
中任何目录的/data
卷,这些卷应该在重新启动后保持不变。
以下是Minikube贡献者的答案,确认文档中存在问题:
我已经重新编写了自述文件以使其更有意义。
主机是您正在运行minikube的计算机。这仅通过已安装的主机文件夹https://github.com/kubernetes/minikube/blob/master/docs/host_folder_mount.md暴露给VM
guest虚拟机或minikube VM会将某些文件夹保留在主机上存储的磁盘上(例如〜/ .minikube / machines / minikube / disk.vmdk)。存储在minikube VM中某些目录中的文件将在启动/停止之间保留,但不会删除。
或者你可以试试https://github.com/reachlin/k8s0/,这是一个使用ansible安装在一个主机上的完整kubernetes。