首页 > > > JuiceFS容器存储接口的使用
JuiceFS容器存储接口(CSI)驱动程序实现的CSI规范,以管理JuiceFS文件系统的生命周期
一、JuiceFS 是什么?
JuiceFS 是为云端设计的共享文件系统。
二、juicFS核心特征
JuiceFS 适用于所有文件形式数据的管理、分析、归档、备份。 尤其可以支持大数据分析和机器学习对数据存储的需求。
POSIX、HDFS、NFS 兼容让 JuiceFS 不会对客户的业务系统带来任何侵入性,零成本替换。运维人员不用再为可用性、灾难恢复、监控、扩容等工作烦恼,专注于业务开发,提升研发效率。同时运维细节的简化,也让研发团队更容易向 DevOps 团队转型。
三、JuiceFS 主体架构
JuiceFS 由两个主要部分组成:

注:元数据(metadata)包含文件名、文件大小、权限组、创建修改时间和目录结构。
当 JuiceFS 挂载到主机时,下图展示了它们是如何工作的:

当您的应用或者工具(可以使用任何语言编写)在使用内置的 API(open, read, write 等)访问数据时,会在底层通过系统调用经过内核中的 VFS 以及 FUSE 模块转发到 jfsmount, 再请求元数据服务或者对象存储完成操作。
四、在Kubernetes的创建动态存储类和持久化存储创建示例
1、定义values.yaml,包含了redis metadata 存储和对象存储信息
文件values.yaml
image:
repository: juicedata/juicefs-csi-driver
tag: "latest"
pullPolicy: "Always"
storageClasses:
- name: juicefs-sc
enabled: true
reclaimPolicy: Retain
backend:
name: "s3private"
metaurl: "redis://:password@192.168.32.10/3"
storage: "s3"
accessKey: "AK"
secretKey: "SK"
bucket: "https://<your-bucket>.s3.cn-northwest-1.amazonaws.com.cn/"2、使用helm安装juicefs-csi-driver,此处安装的是最近的版本。(请在配置生产环境的时候,指明版本信息。)创建动态卷
helm repo add juicefs-csi-driver https://juicedata.github.io/juicefs-csi-driver/
helm repo update
helm upgrade juicefs-csi-driver juicefs-csi-driver/juicefs-csi-driver --install -f ./values.yaml3、创建secret 用于auth,静态的持久化存储
文件 config/secrets.env
name=s3private
metaurl=redis://:password@192.168.32.10/3
access-key=AK
secret-key=SK
storage=s3
bucket="https://<your-bucket>.s3.cn-northwest-1.amazonaws.com.cn/"4、kustomize创建secret,用于静态持久存储卷的认证
文件 kustomization.yaml
secretGenerator:
- name: jfs-auth
type: Opaque
env: config/secrets.env5、创建pv和pvc,注意subpath需要已经存在。
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-jfs-wwwlogs
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: juicefs-sc
csi:
driver: csi.juicefs.com
fsType: juicefs
volumeHandle: s3private
volumeAttributes:
subPath: eedir
nodePublishSecretRef:
name: jfs-auth
namespace: default
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-jfs-wwwlogs
namespace: loon
spec:
accessModes:
- ReadWriteMany
storageClassName: juicefs-sc
resources:
requests:
storage: 100Gi
volumeName: pv-jfs-wwwlogs参考:
JuiceFS文档: JuiceFS Help Center 文档
JuiceFS-csi-driver
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/86123/viewspace-3163569/ ,如需转载,请注明出处,否则将追究法律责任。