k8s存储juicefs简介
k8s csi driver 架构
CSI竖线左边的是k8s官方维护的,右边的是每个csi插件自己实现的
juicefs csi driver
juicefs csi driver架构
csi controller: statefulset,副本为1
csi node: daemonset
mount point是juicefs独有的概念
在虚拟机上执行挂载的话,直接执行juicefs mount命令就可以;但是在k8s里面,csi node容器会创建一个mount pod的容器,mount pod容器来执行juicefs mount挂载命令的操作,再通过k8s原生的方式bind到应用的pod上
元数据引擎+对象存储
0.10.0之前:没有mount pod的概念,如图上的3个mount pod,是在csi node容器里面跑了3个进程
0.10.0之后:加入了mount pod的概念
mount pod的生命周期是通过csi driver来控制的
如果相同的应用在同一个k8s node上共享访问同一个juicefs的数据的话,会有1个mount pod,对应不用的应用pod
部署
使用juicefs csi driver
默认情况下,公有云使用对象存储的话,容量可以认为是无限的;但是,在k8s的标准里面,storage字段是必须要写的,所以写的这个是个随便写的值
参考
JuiceFS CSI Driver 简介 - Office Hours 20220629_哔哩哔哩_bilibili