JuiceFS
部署 JuiceFS CSI Driver
· ☕ 1 分钟
1. 安装部署 下载部署文件 1 wget https://raw.githubusercontent.com/juicedata/juicefs-csi-driver/master/deploy/k8s.yaml 任意非 master 节点查看 kubelet 的安装目录 1 ps -ef|grep kubelet |grep root-dir 如果有值,则需要执行替换;否则直接安装。 1 sed 's@/var/lib/kubelet@{{KUBELET_DIR}}@g' k8s.yaml 1 kubectl apply -f k8s.yaml 查看 Pod 状态 1 kubectl -n kube-system get pods -l app.kubernetes.io/name=juicefs-csi-driver 2. 创建存储 静态绑定 1 2 3 4 5 6 7 8 9 10 11 12 13 14 apiVersion: v1 metadata: name: juicefs-secret namespace: default labels: juicefs.com/validate-secret: "true" kind: Secret type: Opaque stringData: name: ${JUICEFS_NAME} token: ${JUICEFS_TOKEN} access-key: ${ACCESS_KEY}

在 Kubernetes 中使用 Fluid 挂载 3FS 存储及性能测试
· ☕ 6 分钟
1. 为什么要将 3FS 对接到 Fluid 3FS 是 DeepSeek 开源的分布式存储系统,因其极优异的性能测试结果,而被津津乐道,star 量快速飙升。 我所在的团队也对 3FS 展开了技术上的跟踪,寻找合适的应用场景,发挥 AI 硬件基础设施的最大价值。 我们线上推理、训练服务使用的存储系统都是通

Fluid 下的 Juicefs 企业版维护
· ☕ 4 分钟
1. 设置环境变量 1 2 export NAMESPACE=xxx export PVC=xxx 2. Dataset 无法就绪 2.1 Fluid 组件问题 1 kubectl -n fluid-system get pod -o wide | grep -v "Running" 可能出现没有正常启动的情况。 2.2 有异常的 Dataset 异常的资源可能导致 Fluid 资源不断重启,需要人工介入删除。 2.3 检查 Worker \ Fuse 副本 worker 副本 1 kubectl -n ${NAMESPACE} get sts -l release=${PVC} 1 kubectl -n ${NAMESPACE} get pod -l release=${PVC},role=juicefs-worker fuse 副本 1 kubectl -n kas-job get ds -l

使用 Fluid 和 S3FS 对接 S3 存储及性能测试
· ☕ 2 分钟
本文使用的是 Fluid 1.0 版本,高版本的配置文件路径发生了变化,需要根据实际情况调整。 1. 制作镜像 1.1 fluid_config_init.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 #!/usr/bin/env python import json import os rawStr = "" with open("/etc/fluid/config.json", "r") as f: rawStr = f.readlines() rawStr = rawStr[0] script = """ #!/bin/sh set -ex MNT_TO=$targetPath trap "umount ${MNT_TO}" SIGTERM mkdir -p ${MNT_TO}

使用 Fluid 对接 S3 存储及性能测试
· ☕ 1 分钟
1. Jindo 挂载 S3 配置环境变量 1 2 3 4 export ENDPOINT=obs.ap-southeast-3.myhuaweicloud.com export BUCKET= export AK= export SK= 创建凭证 1 2 3 4 5 6 7 8 9 10 kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: name: mys3secret type: Opaque stringData: fs.s3.accessKeyId: ${AK} fs.s3.accessKeySecret: ${SK} EOF 创建 Dataset 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 kubectl apply -f - <<EOF apiVersion: data.fluid.io/v1alpha1 kind: Dataset metadata: name: mys3-jindo spec: mounts: - mountPoint: s3://${BUCKET}/test2/ options: fs.s3.endpoint: ${ENDPOINT} encryptOptions: - name: fs.s3.accessKeyId valueFrom: secretKeyRef: name: mys3secret key: fs.s3.accessKeyId - name: fs.s3.accessKeySecret valueFrom: secretKeyRef: name: