持久卷
关于持久卷 (hostPath)
minikube 开箱即用地支持 hostPath
类型的 PersistentVolumes。这些持久卷映射到正在运行的 minikube 实例内的目录(通常是虚拟机,除非您使用 --driver=none
、--driver=docker
或 --driver=podman
)。有关其工作原理的更多信息,请阅读下面的“动态配置”部分。
关于挂载、持久性和 minikube 主机的说明
minikube 配置为持久化存储在以下目录下的文件,这些目录是在 Minikube 虚拟机中(或者如果裸机运行则在本地主机上)创建的。重新启动后,您可能会丢失其他目录中的数据。
/data
*/var/lib/minikube
/var/lib/docker
/var/lib/containerd
/var/lib/buildkit
/var/lib/containers
/tmp/hostpath_pv
*/tmp/hostpath-provisioner
*
* 另一个目录的挂载点,存储在 /var
下或单独的数据磁盘上
这是一个持久化 /data
目录中数据的示例 PersistentVolume 配置
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv0001
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 5Gi
hostPath:
path: /data/pv0001/
您还可以通过在挂载的主机文件夹中创建 PV 来实现持久性。
动态配置和 CSI
此外,minikube 还实现了一个非常简单、规范的动态存储控制器,该控制器与其部署一起运行。这管理着 hostPath 卷的配置(而不是通过之前的树内 hostPath 提供程序)。
默认的 存储配置控制器 在 minikube 代码库内部管理,演示了将自定义存储控制器作为系统的存储组件插入到 Kubernetes 中是多么容易,并为 Pod 提供动态存储,以测试 Pod 在将持久存储映射到它时的行为。
请注意,这不是基于 CSI 的存储提供程序,而是在控制器看到存在未完成的存储请求时,简单地动态声明一个 hostpath 类型的 PersistentVolume 对象。
还有一个 CSI Hostpath 驱动程序 插件,它支持动态配置,并支持多节点集群以及快照。