Juiicefs是一款国产开源的面向云原生的分布式文件系统。它可以支持多种存储介质,实现统一的存储接口,可作为国产化基础平台改造中(尤其是在大数据、云原生方向)重要的中间件使用。
当前应用场景:ceph集群存储 + k8s(containerd)使用juicefs-csi-driver作为容器存储自动挂载的驱动,实现容器自动分配存储空间,自动挂载。
参考官方文档:JuiceFS 简介 | JuiceFS Document Center和介绍 | JuiceFS Document Center
实施步骤:
1. 为ceph存储安装rgw, 如果你的ceph rgw的api可以正常使用可以省略此步。
安装方法可以参考DeepSeek给的结果,也可以参考我的上一篇,在此不做赘述。(注意收集并保存好:Access Key和Secret Key,后面要用,同时创建一个Bucket,作为下一步的存储空间)
2. 安装redis ,确保redis的地址可以正常访问。
3. 安装juicfs客户端,可以参考官方文档快速上手的安装手册,可以在本机上使用单机模式,创建一下论juicfs的文件系统,并挂载个本地目录,验证一下 ceph rgw 也就是S3存储协议的Bucket Endpoint 接口是否可用,如果你已经安装好了redis,也可以在本机使用分布式模式创建以下文件系统,将S3存储和Redis都验证一下有效性。这里可以通过观察ceph dashboard页面中Object Gateway > Buckets 观察创建的桶的大小是否增长,来验证创建文件系统的可用性。
这里需要注意的是命令中:
sudo juicefs format \
--storage s3 \
--bucket http://k8s.22.12.70.201:7480 \
--access-key **************\
--secret-key *********** \
redis://26.96.8.190:6379/1 \
k8sjfs
# Bucket Endpoint k8s 为在ceph rgw中创建的bucket的名
# redis ip地址后有一个/1
其实这个第三步,如果你不考虑宿主机目录挂载,同时也不考虑创建S3网关,不需要考虑在宿主机上为监控提供metrics api ,可以省略此步。
4. 安装juicefs-csi-driver
这里官方文档使用helm安装,helm需要连接的数据源在github上,因为有墙,这步不大容易成功,至少我的网络环境使用helm不能正常安装。这里我使用了官方提供的kubectl直接安装的方式,不过,官网下载下来的k8s.yaml脚本中的镜像地址需要更改以下,不然镜像不能正常拉取。主要涉及的镜像修改后的地址如下:
//install juicefs-csi-driver
docker.m.daocloud.io/juicedata/csi-dashboard:v0.29.2
docker.m.daocloud.io/juicedata/juicefs-csi-driver:v0.29.2
k8s.m.daocloud.io/sig-storage/csi-provisioner:v2.2.2
k8s.m.daocloud.io/sig-storage/csi-resizer:v1.9.0
k8s.m.daocloud.io/sig-storage

最低0.47元/天 解锁文章
1590

被折叠的 条评论
为什么被折叠?



