首先,JuiceFS 客户端之间没有资源隔离,而且进程直接运行在 CSI Pod 里会导致 Kubernetes 集群对客户端进程无感知,当客户端进程意外退出的时候,在集群中是看不出任何变化的;最关键的是 CSI Driver 不能平滑升级,升级的唯一方式就是,先把用户所有使用到 JuiceFS 的 Pod 全部停掉,然后升级,升级完再把所有的...
CSI 工作原理与JuiceFS CSI Driver 的架构设计详解 容器存储接口(Container Storage Interface)简称 CSI,CSI 建立了行业标准接口的规范,借助 CSI容器编排系统(CO)可以将任意存储系统暴露给自己的容器工作负载。JuiceFS CSI Driver 通过实现 CSI 接口使得Kubernetes上的应用可以通过 PVC(PersistentVolumeClaim)使用 JuiceFS。...
02 安装和管理 JuiceFS CSI Driver 该用 Kubectl 还是 Helm? 了解了 JuiceFS CSI Driver 的三种工作模式,我们可以这样判断,在没有特殊需要的情况下,首选默认的 Mount Pod 模式就对了。 在开始尝试安装 JuiceFS CSI Driver 时,我们碰到的第二个问题是 Kubectl 和 Helm 这两种安装工具,该用哪个? 事实上,不论使用...
在界面上通过「应用模板」上传 chart 包或者在「应用仓库」中添加 JuiceFS 的官网 chart 仓库地址,就可以直接安装 Juicefs CSI Driver 了,然后在 KubeSphere 中使用和原生的 Kubernetes 使用方式是一样的,后续我们会把 JuiceFS 做为 Kubesphere 的原生插件,在部署 Kubesphere 之后即可直接使用,大家可以期待一下。 CSI ...
1. JuiceFS CSI Driver 架构介绍 组件 JuiceFS CSI Driver 的架构如下图,共有两个组件: Controller Service:以 PV id 为名在 JuiceFS 文件系统中创建子目录。 Node Service:创建 Mount Pod(JuiceFS 客户端),并挂载应用 Pod。 CSI Node 的工作机制如下图,主要将 JuiceFS 客户端放在单独的 pod 中运行,这样做有...
JuiceFS CSI Driver 架构设计详解 其他运行模式 CSI 驱动默认以容器挂载(Mount Pod)模式运行,但特定场景下该模式不一定适用,因此 CSI 驱动还提供以下运行模式。 Sidecar 模式 Mount Pod 需要由 CSI Node 创建,考虑到 CSI Node 是一个 DaemonSet 组件,如果你的 Kubernetes 集群不支持部署 DaemonSet(比如一些...
1. JuiceFS CSI Driver 架构介绍 组件 JuiceFS CSI Driver 的架构如下图,共有两个组件: Controller Service:以 PV id 为名在 JuiceFS 文件系统中创建子目录。 Node Service:创建 Mount Pod(JuiceFS 客户端),并挂载应用 Pod。 CSI Node 的工作机制如下图,主要将 JuiceFS 客户端放在单独的 pod 中运行,这样做有...
在界面上通过「应用模板」上传 chart 包或者在「应用仓库」中添加 JuiceFS 的官网 chart 仓库地址,就可以直接安装 Juicefs CSI Driver 了,然后在 KubeSphere 中使用和原生的 Kubernetes 使用方式是一样的,后续我们会把 JuiceFS 做为 Kubesphere 的原生插件,在部署 Kubesphere 之后即可直接使用,大家可以期待一下。 CSI ...
容器存储接口(Container Storage Interface)简称 CSI,CSI 建立了行业标准接口的规范,借助 CSI 容器编排系统(CO)可以将任意存储系统暴露给自己的容器工作负载。JuiceFS CSI Driver 通过实现 CSI 接口使得 Kubernetes 上的应用可以通过 PVC(PersistentVolumeClaim)使用 JuiceFS。本文将详细介绍 CSI 的工作原理以及 JuiceFS CSI...
鉴于目前的有损升级方案存在诸多缺陷,JuiceFS CSI Driver 在 v0.25.0 版本中,支持了 Mount Pod 的平滑升级。CSI 提供了两种平滑升级方案,包括二进制升级和 Pod 重建升级。二进制升级风险小,但不支持更新 Mount Pod 的其他配置;Pod 重建升级在集群环境较复杂的情况下有失败的风险,但支持更新 Mount Pod 的其他配置...